Beispiel #1
0
/////////////////////////////////////////////////////////////////
// 在有接收的数据到达的时候,进行处理
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 );
}
Beispiel #2
0
/////////////////////////////////////////////////////////////////
// 在有接收的数据到达的时候,进行处理
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 );
}