Клиент и сервер не могут общаться - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть клиент / серверная программа в c.Пока сервер работает, я могу отправить ему команду через telnet, и он работает нормально.Кроме того, nmap сообщает об открытии порта.Точно так же я могу успешно использовать (connect(sock, (struct sockaddr *) &servAddr, sizeof(servAddr)), если мой IP-адрес является адресом Google.Однако, если я попытаюсь использовать 127.0.0.1 для подключения, я получу ответ -1 от connect().Я использую порты в диапазоне 13000.
Есть ли причина, по которой telnet может обмениваться данными с моим сервером, но моя клиентская программа не может?

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

Либо у вас есть локальный брандмауэр, который не позволяет вашей клиентской программе подключиться (вам может потребоваться внести белый список в клиентскую программу, если она установлена ​​в Windows), либо вы неправильно вводите IP-адрес, который вы передаете connect. В зависимости от используемой вами ОС, вам следует либо проверить errno, либо GetLastError(), чтобы увидеть, что пошло не так.

1 голос
/ 30 сентября 2011

Вам лучше узнать подробности о проблеме с strerror(errno), если в Linux много причин может привести к отключению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...