【问题标题】:Python socket server port forwarding with ngrok使用 ngrok 进行 Python 套接字服务器端口转发
【发布时间】:2023-04-05 18:54:01
【问题描述】:

我正在用 python、sockets 制作一个 cli-chat 系统。
当服务器和客户端在同一台机器上时,代码可以正常工作。

但现在我正在尝试使用 ngrok 将我的本地服务器端口转发,以与远程客户端聊天。

当客户端想要连接时,他必须提供服务器 url。如果我提供我的 localhost url,客户端将连接到套接字服务器,一切正常。

但是每当我给 ngrok 的 tcp 隧道 url 时,它都不起作用并在下面抛出错误

Traceback (most recent call last):
  File "/storage/emulated/0/Sun/Python/cmd-chat/user.py", line 5, in <module>
    client.connect((serverUrl, 5000))              #connecting client to server
socket.gaierror: [Errno 7] No address associated with hostname

我作为输入提供的网址是,
tcp://x.tcp.ngrok.io:17xxx

【问题讨论】:

  • connect 的参数不是 URL,而是主机和端口,即("x.tcp.ngrok.io",17xxx)
  • 我还想知道 pyngrok 是否可以帮助您解决其中的一些问题,因为它是围绕 ngrok 的原生 Python 包装器。该文档还有一个套接字/客户端示例。 pyngrok.readthedocs.io/en/latest

标签:
python
sockets
portforwarding
ngrok