Python套接字:连接超时

时间:2015-11-13 05:44:35

标签: python sockets timeout serversocket

我正在尝试编写两个简短的python脚本,它们将两台或多台机器相互连接,一台作为服务器,另一台作为客户机。它在同一台计算机上测试客户端和服务器脚本时工作得很好,但是当我从另一台计算机上尝试它时,客户端保持超时;它无法连接到服务器。这是我的服务器代码:

import socket
server = socket.socket()
host = "computername"
port = 12345
server.bind((host, port))
server.listen(5)

client, addr = server.accept()

客户代码:

import socket
server = socket.socket()
host = "computername"
port = 12345
server.connect((host, port))

有关机器无法连接的任何线索?

2 个答案:

答案 0 :(得分:0)

我认为,在不同的计算机上运行客户端和服务器脚本时,您正在正确地更改主机变量。尝试正确更改/或使用服务器机器的IP地址。

答案 1 :(得分:0)

防火墙可以禁止通信。

要排除DNS相关问题,请尝试使用IP而不是主机名:

# server: listen on all interfaces
server.bind(('', port))

# client: specify server's IP address
server.connect(("192.168.XX.YY", port))

当然有一个真实的IP地址。