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

mySocket.Receive(buffer)卡死,该如何处理

2013-04-20 
mySocket.Receive(buffer)卡死大家好,服务端C++,问题是客户端,我用的是.net的类库,我前几天才用.net的类库

mySocket.Receive(buffer)卡死
大家好,服务端C++,问题是客户端,我用的是.net的类库,我前几天才用.net的类库,遇到一点问题。
我在一个线程里面用
    mySocket.Receive(buffer);
结果调试程序,就在这地方卡住。
有没有什么注意的地方,大家提醒我一下。

以下代码是在一个线程里面
        try{
        if(0==mySocket.Receive(recvBuffer))//但是整个程序在这地方卡住了
        {
            return;
        }
        if(mySocket.Available)
        {
                var str:String=Encoding.UTF8.GetString(recvBuffer);
        }
        }
        catch(err)
        {
            //do nothing
        }
[解决办法]
.net客户端,c++服务端,这没问题

你可以改成异步的模式看看
[解决办法]
mySocket.Receive以阻塞方式接收,在收到数据前卡死也算正常,但在独立的线程中使用没道理导致整个程序卡死,除非在接收阻塞时主线程或其它线程与该线程进行了通信

热点排行