我现在的做法:
PerHandleKey = (LPPER_HANDLE_KEY) GlobalAlloc(GPTR, sizeof(PER_HANDLE_KEY));
PerHandleKey->sClient = PerIoData->sClient;
CreateIoCompletionPort((HANDLE)(PerHandleKey->sClient), dlg->CompletionPort, (DWORD) PerHandleKey,0);
WSASend(PerHandleKey->sClient, &(PerIoData->DataBuf), 1, &SendBytes, 0,&(PerIoData->Overlapped), NULL); //简单回递信息,客户能收到
但是以后服务收到数据后再回递,客户就不能收到数据了,是不是哪儿的做法不正确哟?
PerHandleKey = (LPPER_HANDLE_KEY) GlobalAlloc(GPTR, sizeof(PER_HANDLE_KEY));
PerHandleKey->sClient = PerIoData->sClient;
CreateIoCompletionPort((HANDLE)(PerHandleKey->sClient), dlg->CompletionPort, (DWORD) PerHandleKey,0);
WSASend(PerHandleKey->sClient, &(PerIoData->DataBuf), 1, &SendBytes, 0,&(PerIoData->Overlapped), NULL); //简单回递信息,客户能收到
但是以后服务收到数据后再回递,客户就不能收到数据了,是不是哪儿的做法不正确哟?
CreateIoCompletionPort((HANDLE)(PerIoData->sClient), dlg->CompletionPort, NULL,0);关联
WSASend
就可以了。