首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# TCP Receive接收不已数据

2012-12-24 
C# TCP Receive接收不了数据while (true){Socket s (Socket)ReScoketbyte[] result new byte[1024]i

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就没有往下走,是到这里程序就退出了

热点排行