这是服务器端程序
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
。您可以通过查看服务器上的网络设置并执行以下操作来找到:
如果服务器不是同一台计算机,则必须将主机编辑为服务器的ip。
相关问题 更多 >
编程相关推荐