问题:对于被WSAAsyncSelect 或 WSAEventSelect设置成非阻塞的 如何才能设置成阻塞后完成发包与收包再设回原来状态?
The WSAAsyncSelect and WSAEventSelect functions automatically set a socket to nonblocking mode. If WSAAsyncSelect or WSAEventSelect has been issued on a socket, then any attempt to use ioctlsocket to set the socket back to blocking mode will fail with WSAEINVAL.MSDN上说这两个函数设置成了nonblocking后ioctlsocket设回blocking会失败,但现在假定了不知道目标应用用的是哪个函数,而我需要设置成阻塞后完成发包与收包再设回原来状态,也就是对WSAAsyncSelect 来说我需要目标窗口句柄以及关心的事件,而WSAEventSelect需要了解它曾注册了哪些事件。有什么好的方法吗
The WSAAsyncSelect and WSAEventSelect functions automatically set a socket to nonblocking mode. If WSAAsyncSelect or WSAEventSelect has been issued on a socket, then any attempt to use ioctlsocket to set the socket back to blocking mode will fail with WSAEINVAL.MSDN上说这两个函数设置成了nonblocking后ioctlsocket设回blocking会失败,但现在假定了不知道目标应用用的是哪个函数,而我需要设置成阻塞后完成发包与收包再设回原来状态,也就是对WSAAsyncSelect 来说我需要目标窗口句柄以及关心的事件,而WSAEventSelect需要了解它曾注册了哪些事件。有什么好的方法吗
可以加QQ群25162348.