我研究了许多python套接字模式的教程和源代码,以尝试在两台计算机之间发送简单的字符串。
我已经使我的代码在PC上独立工作,但是未能使代码在两台计算机上运行。这是我目前正在使用的代码:
if df['column name'][i][7]!='1' or df['column name'][i][7]='6':
#server.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 1234))
s.listen(5)
while True:
# now our endpoint knows about the OTHER endpoint.
clientsocket, address = s.accept()
print(f"Connection from {address} has been established.")
clientsocket.send(bytes("Send test","utf-8"))
clientsocket.close()
我在两台计算机上都运行客户端脚本,但是当我在未运行服务器的PC上运行脚本时,出现错误,连接拒绝错误[#10061]。我正在运行python 3.7,一台是通过互联网连接的笔记本电脑,一台是通过以太网电缆连接到路由器的台式机。
如果有人知道我需要进行哪些更改才能使程序正确运行,将不胜感激。
答案 0 :(得分:1)
我是python的新秀,但是我有网络方面的经验。对我来说,您的问题听起来像是网络问题。在运行程序之前,必须确保两台计算机之间都具有连通性,就像您在互联网上提到的一台笔记本电脑一样。最好的了解方法是相互ping通。您的问题听起来像是典型的NAT(网络地址转换问题)。
答案 1 :(得分:1)
我认为您没有在防火墙中打开“ 1234”端口。
https://www.windowscentral.com/how-open-port-windows-firewall
如果您使用的是Windows,则此链接可以为您提供帮助