如何使用Python连接同一网络上的两台计算机

9
这是服务器端程序。
import socket

s = socket.socket()
host = socket.gethostname()
port = 9077
s.bind((host,port))
s.listen(5)

while True:
    c, addr = s.accept()
    print("Connection accepted from " + repr(addr[1]))
    c.send("Thank you for connecting")
    c.close()

这是客户端程序。
import socket

s = socket.socket()
host = socket.gethostname()
port = 9077
s.connect((host, port))
print s.recv(1024)

当我在同一台计算机上运行这两个程序时,它可以完美地工作。但是,当我在同一网络上的两台不同计算机上运行客户端和服务器程序时,程序就无法工作了。
请问有谁可以告诉我如何在同一网络上从一台计算机发送信息到另一台计算机?
这是我第一次进行任何网络编程。感谢您提前的帮助。
2个回答

4
您正在尝试从客户端连接到客户端计算机,因为您使用的是“客户端”主机名而不是“服务器”的主机名/ IP地址。因此,要解决此问题,请更改行s.connect((host,port)),使host指向服务器的IP地址,而不是客户端的hostname。您可以通过查看服务器上的网络设置并执行以下操作找到它:
host = "the ip found from the server's network settings"

0

如果服务器不是同一台计算机,则必须将主机编辑为服务器的IP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接