UdpClient, Ricevi () subito dopo Invia () non funziona?
-
03-07-2019 - |
Domanda
Considera il seguente codice:
client.Send(data, data.Length, endpoint);
byte[] response = client.Receive(ref endpoint);
Mentre, secondo WireShark (sniffer di rete), l'host remoto risponde con dati, l'applicazione qui aspetta solo i dati per sempre ... per qualche motivo non riceve la risposta dall'host remoto.
Qualche idea?
Soluzione
Probabilmente vuoi impostare due UdpClients: uno per l'ascolto, uno per l'invio.
Per l'UdpClient ricevente, utilizzare il costruttore che accetta una porta.
Altri suggerimenti
probabilmente l'host remoto ha un firewall quindi non è stato in grado di rispondere alla richiesta, prima di inviare la richiesta impostare
client.Client.ReceiveTimeout = 5000;
quindi quando la risposta non è stata in grado di ottenere la richiesta si ha un'eccezione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow