C# TCP Receive接收不了数据
while (true)
{
Socket s = (Socket)ReScoket;
byte[] result = new byte[1024];
int lenth = s.Receive(result);
string Message = Encoding.UTF8.GetString(result, 0, lenth);
string[] Re = Message.Split(':');
string OnLine = Re[3];
frmLogin fr = new frmLogin();
fr.add(OnLine);
}
为什么程序执行到Receive这里就不再往下执行了?代码运行到Receive就退出了,为什么?
------最佳解决方案--------------------你是阻塞式的吧, 如果没有数据传输,就会死在那等着,直到收到数据
------其他解决方案--------------------那你看看是什么异常撒
------其他解决方案--------------------同学,try一下吧,什么异常都会出来的
------其他解决方案--------------------你是不是调试时候到了 int lenth = s.Receive(result); 这一句再往下走就没了?
就是因为Receive是阻塞的啊 线程会一直在这里等待直到收到数据才会往下走
------其他解决方案--------------------不是,没有ACCEPT,是代码运行到 int lenth = s.Receive(result);就退出了,下面所有代码都没有执行,也退出了while循环
------其他解决方案--------------------怎么没人回答?是分不够吗?
------其他解决方案--------------------没有异常,就是运行到哪里就跳出循环,不再往下执行,一点异常都没报
------其他解决方案--------------------就是try,catch的也是没有异常
------其他解决方案--------------------不是到这里Receive就没有往下走,是到这里程序就退出了