if((sClient = accept(mServer_Socket, (struct sockaddr *)&IneternetAdd,&len))NVALID_SOCKET)
{
error=WSAGetLastError();
LogMessage.Format("创建业务服务器端失败,错误原因--->>>socket......accept:%d",error);
AddMessageServer(LogMessage,TRUE);
break;
}
memset(Buf,0x00,sizeof(Buf));
while(true)
{
if(nRet=recv(sClient,Buf,sizeof(Buf),0)==SOCKET_ERROR)
{
error=WSAGetLastError();
LogMessage.Format("创建业务服务器端失败,错误原因--->>>socket......accept:%d",error);
AddMessageServer(LogMessage,TRUE);
break;
}
if(nRet>0)
{
AddMessageServer("从客户端服务器收到数据......",LogFlag);
m_dlg->m_Ser.SetWindowText("从客户端服务器收到数据......");
Client_Recv(Buf,nRet,m_dlg);
}
else if(nRet==0)
{
AddMessageServer("nRet==0,客户端服务器有错误......",TRUE);
error=WSAGetLastError();
//break;
}
else
{
AddMessageServer("服务器端断开连接...Eroor",TRUE);
break;
}
Sleep(300);
}
请问,我收到数据用逐步调试观察了一下,发现buf里面有数据到达并且不是空数据,但是为何recv返回值为0,请帮忙分析一下。
{
error=WSAGetLastError();
LogMessage.Format("创建业务服务器端失败,错误原因--->>>socket......accept:%d",error);
AddMessageServer(LogMessage,TRUE);
break;
}
memset(Buf,0x00,sizeof(Buf));
while(true)
{
if(nRet=recv(sClient,Buf,sizeof(Buf),0)==SOCKET_ERROR)
{
error=WSAGetLastError();
LogMessage.Format("创建业务服务器端失败,错误原因--->>>socket......accept:%d",error);
AddMessageServer(LogMessage,TRUE);
break;
}
if(nRet>0)
{
AddMessageServer("从客户端服务器收到数据......",LogFlag);
m_dlg->m_Ser.SetWindowText("从客户端服务器收到数据......");
Client_Recv(Buf,nRet,m_dlg);
}
else if(nRet==0)
{
AddMessageServer("nRet==0,客户端服务器有错误......",TRUE);
error=WSAGetLastError();
//break;
}
else
{
AddMessageServer("服务器端断开连接...Eroor",TRUE);
break;
}
Sleep(300);
}
请问,我收到数据用逐步调试观察了一下,发现buf里面有数据到达并且不是空数据,但是为何recv返回值为0,请帮忙分析一下。
解决方案 »
- 函数指针使用出现问题
- 请问CDialog::Create会执行那些函数
- 请教老手
- 区别讨论:1 库函数调用和系统功能调用有什么区别?2 文件句柄和文件指针有什么区别?......
- 请aben456进来领分。他人勿打扰,谢谢。(非转分)
- 对解密有兴趣的朋友进来看看,300分相送,up有分
- 关于SOCKET的简单问题
- 有那位大侠用过wincrypt.h?为什么我在使用其定义的宏和函数时总说我没有定义?
- CListCtrl控件怎么重画
- 如何判断一LPCTSTR变量中有字符串"abc"!!!用何函数!!!
- 难题求解:动态加载的DLL失败,如何知道是因为此DLL未找到哪些相关的DLL而导致的?
- 关于VC中对容器中的元素进行排序函数的问题?
你把传输内容改成字符串试试不要用内存的方式
我记得当时我测C#和VC的时候有这个问题
2,你的socket是不是非阻塞的???
if (sClient = .....)