0
IRC 봇을 Python에서 C++로 이식하려고하는데 Winsock2와 관련된 몇 가지 문제가 있습니다. 나는 C/C++ 소켓에 상당히 익숙하다. 그리고이 코드의 대부분은 다양한 튜토리얼에서 결합되었다. 10049 오류가 계속 발생하고 손실이 발생합니다. 어떤 도움이라도 대단히 감사 할 것입니다. 감사!VC++ Winsock2 오류 10049. IRC 봇 빌드 시도
port_는 6667과 host_로 설정하는 것은 "irc.rizon.net"
WSADATA wsaData;
int starterr = WSAStartup(MAKEWORD(2,2), &wsaData);
if (starterr != 0) {
std::cout << "Error: " << WSAGetLastError() << " occurred!" << std::endl;
WSACleanup();
return 1;
}
std::cout << "WSAStartup Successful!" << std::endl;
socketfd_ = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (socketfd_ == INVALID_SOCKET) {
std::cout << "Error: " << WSAGetLastError() << " occurred!" << std::endl;
WSACleanup();
return 1;
}
std::cout << "Socket Creation Successful!" << std::endl;
sockaddr_in anews;
anews.sin_port = htons(port_);
anews.sin_addr.s_addr = inet_addr(host_.c_str());
anews.sin_family = AF_INET;
if (connect(socketfd_,(sockaddr*)&anews, sizeof(anews)) == SOCKET_ERROR) {
std::cout << "Error: " << WSAGetLastError() << " occurred!" << std::endl;
WSACleanup();
return 1;
}
std::cout << "Socket has connected successfuly!" << std::endl;
return 0;
. : \ – user924154
'ai'는'getaddrinfo()'에 전달되기 전에'NULL'로 초기화 할 수 있지만 out 매개 변수이기 때문에 초기화 할 필요가 없습니다. 그것은 어쨌든 모범 사례 일 것이지만 당신의 문제가 아니라고 확신합니다. 당신은 아직도'WSAStartup()'을하고 있습니까? –
동일한 불만을 얻기 위해서만 NULL로 초기화하려고했습니다. 나는 여전히 WSAStartup()을 사용하고있다. – user924154