如何在两台计算机之间发送消息

时间:2020-08-10 05:21:53

标签: python-3.x sockets

我研究了许多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,一台是通过互联网连接的笔记本电脑,一台是通过以太网电缆连接到路由器的台式机。

如果有人知道我需要进行哪些更改才能使程序正确运行,将不胜感激。

2 个答案:

答案 0 :(得分:1)

我是python的新秀,但是我有网络方面的经验。对我来说,您的问题听起来像是网络问题。在运行程序之前,必须确保两台计算机之间都具有连通性,就像您在互联网上提到的一台笔记本电脑一样。最好的了解方法是相互ping通。您的问题听起来像是典型的NAT(网络地址转换问题)。

答案 1 :(得分:1)

我认为您没有在防火墙中打开“ 1234”端口。

https://www.windowscentral.com/how-open-port-windows-firewall

如果您使用的是Windows,则此链接可以为您提供帮助