【发布时间】:2021-10-13 12:56:43
【问题描述】:
我在路由器上打开了端口 4545 并将其转发到我的台式计算机的 IP 地址(例如 "101.102.103.104"),我希望另一个网络中的机器连接到我在 python 上创建的套接字服务器我的台式电脑。
我在笔记本电脑上编写了一个客户端脚本并将其连接到不同的网络。 现在,我怎样才能连接到我的 python 服务器?
台式机上的 Python 服务器:
import socket
server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
server.bind((socket.gethostname(), 4545))
server.listen(5)
client, address = server.accept()
client.send(b"Hello from server")
另一个网络上的 Mt 笔记本电脑上的 Python 客户端:
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("101.102.103.104", 4545)) # "101.102.103.104" is the desktop computer public ipv4 IP address
print(client.recv(24).decode())
服务器工作正常,但是如何将客户端连接到我的服务器?
【问题讨论】:
-
你必须连接到路由器的公共地址,而不是计算机的地址。
-
感谢您的帮助,我已尝试这样做。如何找到我的路由器 IP?
-
ipconfig没有显示路由器的公共 IP -
您从路由器本身获取它。您也可以使用类似 whatismyip.com 的网站
-
网站只显示我机器的IP。我找不到路由器。无论如何,我现在会尝试从路由器中找到IP
标签: python sockets networking ip portforwarding