为什么完成端口有客户连接时,工作线程不能退出,怎么解决?
解决方案 »
- 为什么创建连接套接字失败
- DirectDraw和YUV的问题
- 请问:机子上没有mscomm的控件,除了卸载重装外,还有其它方法吗?先谢谢了啊~~
- 是windows c高手请近来,俺会给高分的
- 求救! 怎么样把一个double的数值转换成SYSTEMTIME格式的时间啊?
- 程序通过ODBC怎么和后台的不同类型的数据库连上?
- 请问KillTimer(m_timer);前如何判断m_timer存在呢?
- VC读取XML接口
- 有没有谁在98下成功地利用AlphaBlend实现了从一幅图片到另一幅图片的淡入淡出?
- 如何让textbox得到焦点后,他内的字符反白显示
- ado+access, insert into时,表中自动编号的字段怎么表示?
- 哪里有人事管理程序可下载
^_^
bSuccess=GetQueuedCompletionStatus(g_hCompPort,
&dwNumBytes,
(DWORD*)&PerHandleData,
(OVERLAPPED**)&ConText,
INFINITE);
if(!bSuccess ||!ConText) continue; if(bSuccess)
{
//客户端断开连接
if(PerHandleData != NULL)
{
if(dwNumBytes == 0 && (PerHandleData->pIOContext->OperationType==RECV_POST||
PerHandleData->pIOContext->OperationType==SEND_POST))
{
iocp_server->CloseClient(PerHandleData);
continue;
}
}
} if(bSuccess)
{
if(PerHandleData==NULL&&dwNumBytes==0)
{
//工作线程被通知结束
SetEvent(g_ThreadHandles[pos]);
InterlockedDecrement(&iocp_server->m_nConcurrentThreads);
return 0;
}
}
dwRet=iocp_server->ProcessJob(PerHandleData,ConText,dwNumBytes);