在Python中使用socket连接到其他机器



所以我花了4个小时在耻辱中尽我所能做到这一点->

我一直在努力学习Socket,我在同一台计算机上玩了一点服务器-客户端代码,它工作得很好,但后来我有兴趣尝试连接我的笔记本电脑,这是连接在相同的WIFI…所以我要做的是,在我的个人电脑上运行服务器代码,在我的笔记本电脑上运行客户端代码。

服务器端代码

import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port = 9999
serversocket.bind(('', port))
serversocket.listen(5)
i = 1
while i < 2:
clientsocket, addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
msg = "Thank you for connecting to %s" % str('') + "n"
clientsocket.send(msg.encode('ascii'))
clientsocket.close()
i += 1

客户端代码
import socket
s = socket.socket(socket.AF_INET , socket.SOCK_STREAM)
host = "127.0.0.1"
port = 9999
s2 = socket.create_connection((host, port))
#s.connect((host, port))
msg = s2.recv(1024)
s.close()
print(msg.decode('ascii'))

所有我尝试过的事情

  1. 尝试在客户端代码中更改host的服务器IP地址
  2. 尝试了很多端口
  3. 尝试"0.0.0.0"服务器端host
  4. 关闭服务器端和客户端的所有防火墙

您的客户端正在连接到本地主机127.0.0.1 .

您的服务器IP地址与您的笔记本电脑IP地址不同。

因此,它应该无法连接,因为您的客户端在其本地主机上没有侦听端口9999。

尝试获取服务器的IP地址并使用它。

最新更新