Я пытался сделать это в MS Visual Studio 2008, используя пакет winsock2, но всякий раз, когда я пытаюсь разрешить входной IP-адрес, который действителен, я получаю ошибку «Invalid ip ...». Мое единственное предположение, что есть некоторая ошибка разрешений, но я действительно понятия не имею, что не так. Пожалуйста, помогите!
if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0){
error("WSAStartup() failed\n\r");
}
// validate port
if( port <= 0 || port > 65535){
sprintf(msg, "Invalid port - %d. Ports must be between 0 and 65536\n\r",
port);
error(msg);
}
// validate ip
inet_addr = inet_addr(ip);
if( inet_addr == INADDR_NONE){
sprintf(msg, "Not an ip - %s\n\r", ip);
error(msg);
} else {
info = gethostbyaddr((char*)&inet_addr, 4, PF_INET);
if(info == NULL){
sprintf(msg, "Invalid ip - %s\n\r", ip);
error(msg);
}
}