在过去的几天里,我一直在思考如何解决我面临的一个问题,我试图研究这个话题,但我真的不知道我能做什么。
我在同一个结构中有 2 个套接字,它们都具有相同的完成端口。问题是,它们都使用不同的协议。有没有办法可以找出触发了哪个套接字?他们叫game_socket,和client_socket
示例代码将类似于...
while (true) {
error = GetQueuedCompletionStatus(CompletionPort, &BytesTransfered, (PULONG_PTR)&Key, &lpOverlapped, 0);
srvc = CONTAINING_RECORD ( lpOverlapped, client , ol );
if ( error == TRUE ) {
cout << endl << "SOCKET: [" << srvc->client_socket << "] TRIGGERED - WORKER THREAD" << endl;
cout << endl << "BytesTransfered: [" << BytesTransfered << "]" << endl;
if ( srvc->game_client triggered ) {
// .. this code
} else {
// .. this code
}
任何想法或帮助将不胜感激:)