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