UdpClient, Receive() right after Send() does not w

2019-02-22 12:57发布

Consider the following code:

client.Send(data, data.Length, endpoint);
byte[] response = client.Receive(ref endpoint);

While, according to WireShark (network sniffer), the remote host does reply with data, the application here just waits for data forever... it does not receive the answer from the remote host for some reason.

Any ideas?

2条回答
萌系小妹纸
2楼-- · 2019-02-22 13:12

probably the remote host has firewall then couldn't response to request, before send request set the

client.Client.ReceiveTimeout = 5000; 

so when the response couldn't get the request you have a exception

查看更多
虎瘦雄心在
3楼-- · 2019-02-22 13:16

You probably want to setup two UdpClients: one for listening, one for sending.

For the receiving UdpClient, use the constructor that takes a port.

查看更多
登录 后发表回答