如题,谢谢^_^代码如下:
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;
}
解决方案 »
- 运动目标跟踪,目标区域图像裁剪,指针老是飞
- 使用Dialogic板卡开发语音呼叫中心的问题
- 谁有简单的勾子代码,发我一份好吗?
- 使用CShockwaveFlash如何获得播放频率,最好知道什么时候一贞刚刚绘制完成。(问题解决之前顶者有分,先到先得)
- VS.NET 2003下如何添加 DataGrid 控件,急急急!
- 怎样查到VC中所有的 数学公式 函数?比如 自然对数、正弦函数 等等
- PS界面模仿问题集__怎样在状态栏中动态产生进度条?
- 请问SetTimer(x,x,x)怎么使用呢?
- OpenGL深度问题,z-fighting,不正确遮挡
- EXCEL 数据库文件的共享问题?
- 关于左右声道分别进行录音问题----如何分解混合音数据为左右声道数据????
- 找了段完成端口的代码,弱弱的问:在哪里收发信息?
你说的情况可能是对方把socket关了
当 select 选中 你正在监听的那个 套接字时, 表示 有新的连接应该 调 if ((newfd = accept(listener, (struct sockaddr *)&remoteaddr,&addrlen)) == -1)
{
perror("accept");
} 新建一个 套接字.
集合中FD_SET(newfd, &master);