答案是自己给自己发一个消息,随便什么内容。

Console.WriteLine("等待连接...");
byte[] bytes = listener.Receive(ref RemoteIpEndPoint);
UdpClient udpClient = new UdpClient(4444);
udpClient.Connect("127.0.0.1", 8888);
string msg = "1";
Byte[] bytes = Encoding.ASCII.GetBytes(msg);
udpClient.Send(bytes, bytes.Length);
在使用 UDP 接收信息的时候,经常会遇到要持续接收的情况,基本上是用死循环的模式来做这个事情,但是如果持续接收不到消息该怎么办,那程序就 阻塞 了,一直在等待状态 C# 在创建Socket的时候是可以设置超时的 超时 会报异常 处理就好了 这行代码进行设置: sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Re ceive Timeout, StopTime); public static void Udp Re ceive (in 所以当分段获取时,单次获取后Available缓冲区在瞬时会变成0,在通过字节判断(大于0)的if条件后,又获取到了剩余字节数,在调试时会产生if(false)进入代码块情况。长字节数据判定,需要进行数据接收 结束 次数(Available等于0)统计,累计到一定次数才判断为接收完成。另外不要忘了超时判断,避免程序卡死。接收数据超过2000字节,re ceive 单次最多获取1300+字节。 程序A,绑定192.168.100.1(本机地址)的8000端口,向192.168.100.1(本机地址)的9000端口发消息。 程序B,绑定192.168.100.1的9000端口,向192.168.100.1的8000端口发消息。 A和B均开始运行,可以互相发送消息(多线程或者单线程),运行正常!符合预期! A运行,但B不运行,则A在Re ceive Fr 如何 结束 阻塞 状态的线程(会引起 结束 程序后进程还在)<br />vc/mfc2009-02-07 16:30:26阅读109评论0  字号:大中小 订阅<br />如果一个线程由于等待某些事件的发生而被 阻塞 ,又该如何实现该线程的中断呢?比如当一个线程由于需要等候键盘输入而被 阻塞 ,处于不可运行状态时,即使主程序中将该线程的共享变量设置为true,但该线程此时根本无法检查循环标志,当然也就无法立即中断。<br />其实,这种情况经常会发生,比如调用Thread.join() 方法 ,或者Thread.slee 需要知道 接收方的ip 和 接收方开放的端口(port) ip =接收方的ip ,port = 接收方开放的端口 接收方: 不需要知道 发送方的ip 和 发送方的开放的端口, 只需要 监听一个 已经开放...