关于GetQueuedCompletionStatus函数的问题 用GetQueuedCompletionStatus函数能不能得到某一个Socket发送完成的消息噢? 如果可以,怎么得到呢?如果不能,那我怎么让发送完成的Socket继续进入接受状态呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 肯定能得到。把代码帖上来看。完成后要让socket继续进入接受状态你可以再投递一个WSARecv啊 for( Iter=socket_list.begin(); Iter<socket_list.end(); Iter++ ) { pPHD = (LPPER_HANDLE_DATA)*Iter; printf("%d socket popup\n", pPHD->sock ); if( WSASend( pPHD->sock, &(PerIoData->DataBuf), 1, &SendBytes, 0, &(PerIoData->Overlapped), NULL )==SOCKET_ERROR ) { if (WSAGetLastError() != ERROR_IO_PENDING) { printf("WSASend() failed with error %d\n", WSAGetLastError()); return 0; } } }我的发送代码是这样的。但是不知道什么时候用这个代码。说真的我不是很清晰整个流程。如果发送完成,怎么样判断呢?或者说我心接受到一个消息,怎么样才能判断是刚接受的还是所有人都有呢?不然会产生重复发送的阿 关于Spin控件的一个问题! 写"hello world"程序遇到问题...(VS2005 C++环境) 装VC遇到问题 ======散分,扫晦气!!!=======[1] 初学者问一个问题,急,多谢了! 请教关于用程序的方法实现odbc数据源的连接 Agent 这个问题很菜 高分求: FTP实现原理 关于VxD驱动程序的讨论 显示的对话框与资源定义的不一样 求《COM技术内幕》电子版!!!
完成后要让socket继续进入接受状态你可以再投递一个WSARecv啊
{
pPHD = (LPPER_HANDLE_DATA)*Iter;
printf("%d socket popup\n", pPHD->sock ); if( WSASend( pPHD->sock, &(PerIoData->DataBuf), 1, &SendBytes, 0,
&(PerIoData->Overlapped), NULL )==SOCKET_ERROR )
{
if (WSAGetLastError() != ERROR_IO_PENDING)
{
printf("WSASend() failed with error %d\n", WSAGetLastError());
return 0;
}
}
}
我的发送代码是这样的。但是不知道什么时候用这个代码。说真的我不是很清晰整个流程。
如果发送完成,怎么样判断呢?
或者说我心接受到一个消息,怎么样才能判断是刚接受的还是所有人都有呢?不然会产生重复发送的阿