可以连接,发送信息都没有问题,网络状态良好,就是接受信息会报超时。(我的超时时间5s)
public void Send(byte[] data)
{
if (!socket.Connected)
throw new Exception("socket is not connect");
socket.Send(data);
}
public byte ReadByte()
{
while (true)
{
if (!socket.Connected)
throw new Exception("socket is not connect");
if (readPos < readLen)
return buffer[readPos++];
readPos = readLen = 0;
readLen += socket.Receive(buffer, readLen, buffer.Length - readLen, SocketFlags.None);
// 没有读到数据,稍等一会再读取
if (readLen == 0)
Thread.Sleep(100);
}
}
以上两个方法是收发信息,在本地调试是没什么问题的,就算一次的超时也能在下一次连接上,但是现场是一直收不到信息,超时的状态
网络是不是在同一个网段,相互是否能连上,防火墙是否阻止了端口