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

sha*_*rao 6 python networking network-programming

这是服务器端程序

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()
Run Code Online (Sandbox Code Playgroud)

这是客户端程序

import socket

s = socket.socket()
host = socket.gethostname()
port = 9077
s.connect((host, port))
print s.recv(1024)
Run Code Online (Sandbox Code Playgroud)

当我在同一台计算机上运行这两个程序时,它运行得很好. 但是当我在同一网络上的两台不同计算机上运行客户端和服务器程序时,该程序不起作用.

任何人都可以告诉我如何在同一网络上从一台计算机向另一台计算机发送消息.

这是我第一次进行网络编程.任何帮助,将不胜感激

提前致谢

sea*_*ean 4

您正在从客户端连接到客户端的计算机,或者正在尝试连接,因为您使用的是 的client主机名而不是servers主机名/IP 地址。

因此,要解决此问题,请更改该行s.connect((host, port)),使host指向serversip 地址而不是clients hostname

您可以通过查看服务器上的网络设置并执行以下操作来找到此信息:

host = "the ip found from the server's network settings"
Run Code Online (Sandbox Code Playgroud)