[英]How to connect two random computers on global network using sockets in Python
[英]How to connect two computers on the same network using python
这是服务器端程序
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)
当我在同一台计算机上运行这两个程序时,它运行得很好。 但是当我在同一网络上的两台不同计算机上运行客户端和服务器程序时,该程序不起作用。
任何人都可以告诉我如何在同一网络上从一台计算机向另一台计算机发送消息。
这是我第一次进行网络编程。 任何帮助,将不胜感激
提前致谢
您正在从客户端连接到客户端的计算机,或者正在尝试,因为您使用的是client
的主机名而不是servers
主机名/ IP地址。
因此,要修改此更改行s.connect((host, port))
以便host
指向servers
IP地址而不是client
的hostname
。
您可以通过查看服务器上的网络设置并执行以下操作来找到此信息:
host = "the ip found from the server's network settings"
如果服务器不是同一台计算机,则必须将主机编辑到服务器的ip。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.