0
我试图将套接字从一个进程不断地转移到另一个进程。我在主进程上使用WSADuplicateSocket总是可以正常工作。然后我在子进程上调用WSASocket。不过,我偶尔会从WSASocket获取WSAEINVAL错误。来自WSASocket的WSAEINVAL错误在套接字重复上
我检查lpWsaProtocolInfo参数,它总是很好。所以我真的不知道这个错误是如何发生的?
站长:
int err = WSADuplicateSocket(sockFd, childPID,
(LPWSAPROTOCOL_INFO)sockInfo);
儿童:
LPWSAPROTOCOL_INFO lpWsaProtocolInfo =
(LPWSAPROTOCOL_INFO)malloc(sizeof(*lpWsaProtocolInfo));
memcpy(lpWsaProtocolInfo, sockInfo, sizeof(*lpWsaProtocolInfo));
sockFd = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, lpWsaProtocolInfo,
0, 0);
什么是总体情况?你可以发布你调用WSASocket的客户端代码吗? – obelix 2010-08-19 02:56:12