如题,谢谢^_^代码如下:
FD_ZERO(&fdRecv);
FD_SET(sock, &fdRecv);
if( (nRcvNm = select(sock+1, &fdRecv, NULL, NULL, &seltime)) == SOCKET_ERROR)
{
nErrCode = WSAGetLastError();
strcat(pFunNm, "select");
__leave;
}
else if(nRcvNm<=0)
continue;
if(!FD_ISSET(sock, &fdRecv))
{
contine;
}
nRcvNm = recv(sock, (char *)(pCtrlCd), 1, 0);
if(0==nRcvNm)
{
nErrCode = OWN_ERR;
strcat(pFunNm, "ERROR!");
__leave;
}
FD_ZERO(&fdRecv);
FD_SET(sock, &fdRecv);
if( (nRcvNm = select(sock+1, &fdRecv, NULL, NULL, &seltime)) == SOCKET_ERROR)
{
nErrCode = WSAGetLastError();
strcat(pFunNm, "select");
__leave;
}
else if(nRcvNm<=0)
continue;
if(!FD_ISSET(sock, &fdRecv))
{
contine;
}
nRcvNm = recv(sock, (char *)(pCtrlCd), 1, 0);
if(0==nRcvNm)
{
nErrCode = OWN_ERR;
strcat(pFunNm, "ERROR!");
__leave;
}
解决方案 »
- 获取窗口句柄的事
- VC2003 有相关的界面库吗?
- 请问安装英文VC6,为什么总是"不能完全安装成功"呀?
- 【求控件】求 BCGControlBar Professional v8.5
- 静态文本框控件(static)!当文本向下超出显示范围后,如何让文本能够自动向下滚动??
- 制作输入法的问题
- 请问,在资源文件*.rc里面可以使用 #ifdef XXX #endif吗?
- 怎么样才能使用Dll中的类,我一定给分!!!
- 关于工具提供,很好赚分的哦
- CC问题之一:如何实现控件背景色的透明??
- 关于左右声道分别进行录音问题----如何分解混合音数据为左右声道数据????
- 找了段完成端口的代码,弱弱的问:在哪里收发信息?
你说的情况可能是对方把socket关了
当 select 选中 你正在监听的那个 套接字时, 表示 有新的连接应该 调 if ((newfd = accept(listener, (struct sockaddr *)&remoteaddr,&addrlen)) == -1)
{
perror("accept");
} 新建一个 套接字.
集合中FD_SET(newfd, &master);