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以阻塞方式接收,在收到数据前卡死也算正常,但在独立的线程中使用没道理导致整个程序卡死,除非在接收阻塞时主线程或其它线程与该线程进行了通信