我的程序怎么停在recv了? 一般有什么原因,会死在recv啊?昨天还行呢!faint死了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你好像采用的阻塞方式,而且若没有数据到达则会阻塞在recv函数上.最好采用非阻塞函数,用事件的方式接收;或者采用多线程+阻塞方式 当你的程序停在recv()时,只要有别的程序向它发送点什么,它就会接着往下走了。 哦,我想这是设置recv的超时问题了?怎么设置recv的超时呢? int bread;int timeout = 1000;bread = setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));if(bread == SOCKET_ERROR) { int nErrorCode = WSAGetLastError()); return;}//Look at MSDN about setsockopt function 读写文件 CFile读取txt问题 MFC做得聊天程序问题 学习mfc的求助 很菜的问题 CFileDialog对话框,DoModal()弹出之后ONOK或者IDCANCEL之后再DoModal(),程序就自动退出!请教高手!在线等待中 多线程服务程序用createthread怎么运行一个多小时怎么出错了? List Control中如何建立双击响应函数? winsock是否允许混杂模式的包捕获? 动态链接dll的调试 请教bitmap压缩问题 请问为什么DIALOG类里面没有析构函数?
或者采用多线程+阻塞方式
只要有别的程序向它发送点什么,
它就会接着往下走了。
我想这是设置recv的超时问题了?怎么设置recv的超时呢?
int timeout = 1000;
bread = setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
if(bread == SOCKET_ERROR)
{
int nErrorCode = WSAGetLastError());
return;
}//Look at MSDN about setsockopt function