Python 2.7[Errno 113]没有到hos的路线

2024-03-29 12:03:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在同一个局域网上有两台电脑。第一台电脑的ip地址是192.168.178.30,另一台电脑的ip地址是192.168.178.26。 Ping、traceroute、telnet、ssh,这两台电脑之间的一切都正常工作。两台电脑运行相同的OS-CentOS 7,而且两台电脑都有相同的python版本2.7.5(使用python-V命令检查)。

我从一本计算机网络书籍中复制了简单的python代码。

客户端.py

from socket import *
serverName = '192.168.178.30'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((serverName,serverPort))
sentence = raw_input('Input lowercase sentence: ')
clientSocket.send(sentence)
modifiedSentence = clientSocket.recv(1024)
print 'From Server:', modifiedSentence
clientSocket.close()

服务器.py

from socket import *
serverPort = 12000
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('192.168.178.30',serverPort))
serverSocket.listen(5)
print 'The server is ready to receive'
while 1:
       connectionSocket, addr = serverSocket.accept()
       sentence = connectionSocket.recv(1024)
       capitalizedSentence = sentence.upper()
       connectionSocket.send(capitalizedSentence)
       connectionSocket.close()

当代码运行在同一台PC(服务器在本地主机上监听)上时,它可以工作。 当我在一台电脑上运行客户机代码,在另一台电脑上运行服务器代码时,在客户机端会出现此错误。

Traceback (most recent call last):
  File "client.py", line 5, in <module>
    clientSocket.connect((serverName,serverPort))
  File "/usr/lib64/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 113] No route to host

有人能帮忙吗?


Tags: 代码frompyimportip服务器地址socket
3条回答

检查防火墙(在服务器上)。

我按照梅萨的建议停止了防火墙,现在它工作了。

service firewalld stop

我还是不明白问题出在哪里。我甚至尝试使用不同的分布。所有的发行版都有严格的防火墙吗。例如Ubuntu到Ubuntu,Ubuntu到CentOS,CentOS到Ubuntu我仍然有同样的问题(错误)。

您应该bind服务器套接字到'0.0.0.0',而不是'192.168.178.30'

相关问题 更多 >