Когда я использую функцию connect()
на компьютере i7, он всегда возвращает ноль независимо от того, удалось ли ему подключиться или нет.У меня просто нет другого приложения для подключения, и оно все равно возвращает ноль (адрес сервера 127.0.0.1).
Когда я запускаю одно и то же приложение на другом компьютере, оно ведет себя правильно.Итак, в чем может быть проблема?
Спасибо.
Редактировать Move from Answer ниже.
Код
struct hostent* pHostEntry;
pHostEntry = gethostbyname(host);
if(pHostEntry == NULL)
{
return 0;
}
struct in_addr* host_addr = (struct in_addr*) * pHostEntry->h_addr_list;
if(host_addr == NULL)
{
return 0;
}
long sockfd;
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
return 0;
}
memset((char*) &serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr = *host_addr;
serv_addr.sin_port = htons(port);
if(connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) == SOCKET_ERROR)
{
CloseSocket();
sockfd = -1;
return 0;
}
Вот оно.Здесь у меня всегда ноль.Я, конечно, проверил, слушает ли другое приложение тот же порт.Там нет никого.Более того, если бы он был у меня, я бы не смог работать, если мой сервер включен.Но когда мой сервер включен, у меня нет никаких конфликтов.i7 -> Intel (R (Core) i7 CPU 930 @ 2,80 ГГц 2,80 ГГц. Сейчас я использую этот код некоторое время. У меня есть несколько компьютеров с разными ОС и чипами.проблема. Мне просто интересно, если кто-то сталкивался с той же проблемой. Спасибо