UdpClient, Receive () juste après Send () ne fonctionne pas?
-
03-07-2019 - |
Question
Considérez le code suivant:
client.Send(data, data.Length, endpoint);
byte[] response = client.Receive(ref endpoint);
Alors que, selon WireShark (détecteur de réseau), l’hôte distant répond avec des données, L’application attend ici pour toujours des données pour toujours ... elle ne reçoit pas la réponse de l’hôte distant pour une raison quelconque.
Des idées?
La solution
Vous souhaitez probablement configurer deux UdpClients: un pour l’écoute, un pour l’envoi.
Pour l'UdpClient destinataire, utilisez le constructeur qui prend un port.
Autres conseils
il est probable que l'hôte distant dispose d'un pare-feu, il ne pouvait alors pas répondre à la demande, avant que la demande d'envoi ne soit configurée
client.Client.ReceiveTimeout = 5000;
donc quand la réponse n'a pas pu obtenir la demande vous avez une exception
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow