C# NET中的UDP套接字客户端

C# NET中的UDP套接字客户端,c#,sockets,udp,client,C#,Sockets,Udp,Client,我在客户端应用程序中使用UDP Sokckts。 以下是一些代码片段: SendIP = new IPEndPoint(IPAddress.Parse(IP), port); ReceiveIP = (EndPoint)(new IPEndPoint(IPAddress.Any, 0)); socket = new Socket( AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socket

我在客户端应用程序中使用UDP Sokckts。 以下是一些代码片段:

SendIP = new IPEndPoint(IPAddress.Parse(IP), port);
ReceiveIP = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
socket = new Socket(
    AddressFamily.InterNetwork,
    SocketType.Dgram,
    ProtocolType.Udp);
socket.Bind(ReceiveIP);
并接收(虽然(正确)):


我在接受时做了无限的时间,在这段时间里还有其他事情要做,即使什么也没有收到。。我想检查是否有实际可用的数据,然后接收,否则不要等待。注意:当前的receive方法等待服务器发送消息。

在调用
ReceiveFrom()
之前,可以使用
socket.Available()
确定是否有任何等待数据。不过,理想的情况是,应该考虑使用<代码>开始接收()/<代码>及其异步朋友,将输入处理分发给其他线程。请编辑您的问题,以使其有问题。
byte[] data = new byte[BUFFERSIZE];
int receivedDataLength = socket.ReceiveFrom(data, ref ReceiveIP);
string s= Encoding.ASCII.GetString(data, 0, receivedDataLength);