///////////////////////////////////////////////////////////////// // 在有接收的数据到达的时候,进行处理 bool CIOCPModel::_DoRecv( PER_SOCKET_CONTEXT* pSocketContext, PER_IO_CONTEXT* pIoContext ) { // 先把上一次的数据显示出现,然后就重置状态,发出下一个Recv请求 SOCKADDR_IN* ClientAddr = &pSocketContext->m_ClientAddr; //this->_ShowMessage( _T("收到 %s:%d 信息:%s"),inet_ntoa(ClientAddr->sin_addr), ntohs(ClientAddr->sin_port),pIoContext->m_wsaBuf.buf ); // 然后开始投递下一个WSARecv请求 return _PostRecv( pIoContext ); }
///////////////////////////////////////////////////////////////// // 在有接收的数据到达的时候,进行处理 bool IocpPool::_DoRecv( SocketContent* pSocketContext, IoContent* pIoContext ,DWORD len) { // 先把上一次的数据显示出现,然后就重置状态,发出下一个Recv请求 SOCKADDR_IN* ClientAddr = &pSocketContext->m_ClientAddr; //printf("收到 %s:%d 信息:%s\n",inet_ntoa(ClientAddr->sin_addr), ntohs(ClientAddr->sin_port),pIoContext->m_wsaBuf.buf ); pIoContext->socket->done(delegate,pIoContext->m_wsaBuf.buf,len); // 然后开始投递下一个WSARecv请求 return _PostRecv( pIoContext ); }