0
한 프로세스에서 다른 프로세스로 소켓을 지속적으로 전송하려고합니다. 항상 잘 작동하는 마스터 프로세스에서 WSADuplicateSocket을 사용하고 있습니다. 그런 다음 하위 프로세스에서 WSASocket을 호출합니다. 그러나, 한 번 WSASocket에서 WSAEINVAL 오류가 발생합니다.WSAEINVAL 소켓 복제시 WSAocket 오류
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