首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

IOCP顶用WSARecv接收不了客户端发来的数据

2013-03-27 
IOCP中用WSARecv接收不了客户端发来的数据我在服务端用WSARecv函数接受客户端发来的数据,当我在客户端中发

IOCP中用WSARecv接收不了客户端发来的数据
我在服务端用WSARecv函数接受客户端发来的数据,当我在客户端中发数据后,在服务端中却看不到数据,这时的GetQueuedCompletionStatus函数中lpNumberOfBytes值为0;我的WSARecv函数是这样的
SOCKET socket=m_client[IDclient];
DWORD RecvBytes=0;
DWORD Flags=0;
MYOVERLAPPED *lpMyoverlapped=GetEmptyMyOverlapped(IDclient);
lpMyoverlapped->id=IDclient;
lpMyoverlapped->IoMode=recvMode;
WSARecv(socket,&lpMyoverlapped->wsaBuf,1,&RecvBytes,&Flags,lpMyoverlapped,NULL);
我的GetQueuedCompletionStatus函数代码为:
DWORD   BytesTransferred=0;
MYOVERLAPPED *lpoverlapped=NULL;
SOCKET socket=NULL;
while (1)
{
 if ( GetQueuedCompletionStatus(lpsocket->m_iocp, &BytesTransferred, (LPDWORD)&socket, (LPOVERLAPPED*)&lpoverlapped, INFINITE) == 0 ) 
求大神帮忙  谢谢了 IOCP SOCKET WSARecv 网络编程
[解决办法]
WSARecv返回值是多少啊 有没有错误码啊 WSAGetLastError看看啊
[解决办法]
GetEmptyMyOverlapped里面有对wsabuff.buf申请内存么?
[解决办法]
当了还是什么出错了 当了是当在什么地方啊 出错那还是那句老话lasterror

热点排行