UDPCLIENT +线程
我有个服务端发送数据
客户端有个线程在监听
listener = new Thread(new ThreadStart(this.Listen ));
private void Listen()
{
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] buffer;
try
{
while(isOpen && udpClient != null)
{
buffer = udpClient.Receive(ref remoteEndPoint);
MsgBuffer msgBuffer = new MsgBuffer();
msgBuffer.Buffer = buffer;
msgBuffer.SourceIP = remoteEndPoint.Address.ToString();
Monitor.Enter(msgQueue);
msgQueue.Enqueue(msgBuffer);
Monitor.Exit(msgQueue);
msgCount ++;
MessageItem msgItem = Unserialize(buffer);
if(null == msgItem) continue;
}
}
catch(Exception ex)
{
Console.WriteLine (ex.ToString ());
}
finally
{
udpClient.Close();
}
}
当服务端发送2000个左右的字符时,可以监听到,代码跟踪可以进入listen,如果服务端发送2500个左右的字符时,不能监听,代码跟踪进不了listen
另外还有一个问题,就是 我客户端接受到数据后,要进行广播,跨网段时广播不了,
有谁能帮帮我,
我对通讯是新手,
分也不多,
先谢谢了