我在c中有一个客户端/服务器程序。当服务器运行时,我可以通过telnet发送命令,它工作正常。此外,nmap报告要打开的端口。同样,如果我的IP是谷歌的地址,我可以成功使用(connect(sock, (struct sockaddr *) &servAddr, sizeof(servAddr))
。但是,如果我尝试使用127.0.0.1
进行连接,我会收到来自-1
的{{1}}回复。我正在使用13000范围内的端口
有没有理由说telnet能够与我的服务器通信但我的客户端程序不能?
答案 0 :(得分:2)
您有一个本地防火墙阻止您的客户端程序连接(如果是在Windows上,您可能需要将客户端程序列入白名单),或者您正在填写传递给connect
的IP地址错误。根据您使用的操作系统,您应该检查errno
或GetLastError()
以查看问题所在。
答案 1 :(得分:1)
如果在linux下,你最好能够获得有关strerror(errno)
问题的详细信息,原因很多可能导致断开连接。