웹 서비스를 호출하는 클라이언트 gsoap 프로그램을 구현 한 C 클라이언트에 문제가 있습니다."setsockopt SO_SNDBUF가 tcp_connect()에 실패했습니다"
모든 Windows PC에서 잘 작동하지만 내가 리눅스 기반 POS 장치에 내 코드를 게시 할 때, 나는 다음과 같은 오류가 나타납니다 무엇을 할 수,
"setsockopt SO_SNDBUF failed in tcp_connect()"
난이 오류를 디버깅하기 시작한다 원인이 되겠습니까? (stdsoap2.c에서)
if (setsockopt(sk, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int))){
soap->errnum = soap_socket_errno(sk);
soap_set_sender_error(soap,
tcp_error(soap),
"setsockopt SO_SNDBUF failed in tcp_connect()",
SOAP_TCP_ERROR);
soap->fclosesocket(soap, sk);
#ifdef WITH_IPV6
freeaddrinfo(ressave);
#endif
return SOAP_INVALID_SOCKET;
}
제목은 독자적인 발명 오류 메시지로 구성됩니다. 그러므로 여기서 제목으로 쓸모 없다. 또한 오류 메시지로 쓸모 없습니다. 'errno'가 뭐니? 시스템 오류가 발생하면 자신의 메시지를 자신에게 말하는 것이 도움이되지 않습니다. 시스템의 * 오류를 스스로에게 설명하십시오. – EJP
그것은 매우 단순한 것으로 밝혀졌습니다! 난 그냥 리눅스 전용 바이너리를 사용하여 c/C++ 파일을 만들어야했다 .... gsoap (wsdl2h, soapcpp2) –