我对套接字很新,所以我只是想让一个简单的服务器/客户端系统运行。
我的server.py:
import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('', 5555))
serversocket.listen(5)
while True:
connection, address = serversocket.accept()
buf = connection.recv(2048)
if len(buf) > 0:
print(buf.decode())
break
我的client.py:
import socket
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(("192.168.1.157", 5555))
msg = str.encode(input('Enter your message: '))
clientsocket.send(msg)
当我在笔记本电脑上运行这两个代码时,它可以正常工作:服务器接收消息然后关闭。但是,当我在桌面上运行客户端时,我得到'TimeoutError [WinError 10060]'
。我也试过serversocket.bind(('0.0.0.0',5555))
,结果相同。我尝试过的其他IP地址,例如我从www.whatismyip.com等网站获得的IP地址只需ConnectionRefusedError: [WinError 10061]
。我不知道出了什么问题,虽然我认为这与IP地址错误有关,但我找不到任何实际上有帮助的东西。
答案 0 :(得分:0)
如果您在同一网络中,则应使用本地IP地址连接到服务器。它通常是10.0.1.x或类似的东西。如果在Windows上运行ipconfig /all
(我认为),在Linux上运行ifconfig
或ip address
,您可以找到它。您应该在输出中查找任何显示ipv4 address
或inet
的内容。