Komunikacja TCP z innym komputerem.

1

Cześć. Chcę się komunikować z innym komputerem przez tcp (udp ogaraniam).
Używam tej klasy https://api.flutter.dev/flutter/dart-io/Socket-class.html do komunikacji.
Problem jest taki że w wiresharku widzę wysyłaną wiadomość ale jest ona retransmitowana i to jest problemem. Wyłączyłem zapory na obu komputerach.
wyświetla mi się błąd Unhandled Exception: SocketException: OS Error: Komputer zdalny odrzucił połączenie sieciowe.Bez tytułuwazne.png
pinguje się z drugim komputerem.

0

Na docelowym hoście ktoś nasłuchuje w ogóle?

0

Nasłuchuje czyli ma włączony wireshark ? 192.168.1.13 to ten z do którego wysyłam. Z tego co wkleiłem widać że ta 13 wysyła tylko że na 57063

0

Nie, czyli jest otwarty socket, który nasłuchuje na wybranym porcie.
https://stackoverflow.com/questions/2333400/what-can-be-the-reasons-of-connection-refused-errors

W przeciwieństwie do UDP, TCP jest protokołem połączeniowym, nie można pchać pakietów w eter i się cieszyć.

0

Wzrorowałem się na tym. https://stackoverflow.com/questions/54481818/how-to-connect-flutter-app-to-tcp-socket-server import 'dart:io';
import 'dart:convert';
import 'dart:async';

main() async {
Socket socket = await Socket.connect('192.168.1.99', 1024);
print('connected');

// listen to the received data event stream
socket.listen((List<int> event) {
print(utf8.decode(event));
});

// send hello
socket.add(utf8.encode('hello'));

// wait 5 seconds
await Future.delayed(Duration(seconds: 5));

// .. and close the socket
s

0

Po drugiej stronie ktoś musi czekać na wiadomość, najprościej odpal netcat w trybie nasłuchiwania, nc -l (warto żebyś zapoznał się z narzędziem). Albo napisz kod, który odbiera.

0

Czy w ogóle jest to dobra biblioteka ? Opisują ją tak.

Połączenie TCP między dwoma gniazdami.

Połączenie przez gniazdo łączy lokalne gniazdo z gniazdem zdalnym . Dane, takie jak Uint8List s, są odbierane przez gniazdo lokalne, udostępniane przez interfejs Stream tej klasy i mogą być wysyłane do gniazda zdalnego przez interfejs IOSink tej klasy.

Patrząc na ten link o klasie socket może wiecie co mam zrobić z tą klasą ?

1

Zrób po drugiej stronie jakieś nc -l -p 1024 i wtedy coś zacznie lecieć. Nie da się używać połączeniowego protokołu bez nawiązania połączenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1