发送代码:
UdpClient myUdpClient = new UdpClient();
byte[] myData = Encoding.Default.GetBytes(textBox2.Text.ToString());
myUdpClient.Send(myData, myData.Length, new IPEndPoint(IPAddress.Parse(textBox1.Text),10007));接受代码:
UdpClient youUdpClient = new UdpClient(80);
IPEndPoint myIPEndPoint = new IPEndPoint(IPAddress.Any, 80);
byte[] mydata = youUdpClient.Receive(ref myIPEndPoint);
richTextBox1.AppendText(Encoding.Default.GetString(mydata).ToString()+"\n");经过大半年的运行都是正常的,但是现在两台pc机出现了问题:
1>发送数据时(包括给本机发送信息)报错:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
2>其它pc机给它发送数据包,没有任何响应,无法接受数据包。请各位大侠给个解决的办法,不胜感激啊
UdpClient myUdpClient = new UdpClient();
byte[] myData = Encoding.Default.GetBytes(textBox2.Text.ToString());
myUdpClient.Send(myData, myData.Length, new IPEndPoint(IPAddress.Parse(textBox1.Text),10007));接受代码:
UdpClient youUdpClient = new UdpClient(80);
IPEndPoint myIPEndPoint = new IPEndPoint(IPAddress.Any, 80);
byte[] mydata = youUdpClient.Receive(ref myIPEndPoint);
richTextBox1.AppendText(Encoding.Default.GetString(mydata).ToString()+"\n");经过大半年的运行都是正常的,但是现在两台pc机出现了问题:
1>发送数据时(包括给本机发送信息)报错:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
2>其它pc机给它发送数据包,没有任何响应,无法接受数据包。请各位大侠给个解决的办法,不胜感激啊
我有一个经历,就是被诺顿防火墙把所有的非HTTP协议给拦截了,自己用的TCP协议死活无法连接,后关闭诺顿防火墙就好了。
这是监听: private void StartListen()
{
try
{
objUdpClient = new UdpClient(bManualEesWhs == true ? 14106 : 14107);
while (true)
{
try
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
Byte[] aBtReceiveInf = objUdpClient.Receive(ref RemoteIpEndPoint);
string strInceptMessage = Encoding.UTF8.GetString(aBtReceiveInf);
aObjListenMessage.Add(strInceptMessage);
}
catch (SocketException eX1)
{
FunctionLibrary.RegisterActionInf("运行消息监控错误→" + eX1.Message);
Thread.Sleep(10000);
}
}
}
catch (SocketException eX2)
{
FunctionLibrary.RegisterActionInf("初始化消息监控错误→" + eX2.Message);
}
}