【发布时间】:2021-08-18 14:15:42
【问题描述】:
我正在尝试创建每个人都知道的常用基本聊天应用程序。 但是有一个问题,即使在这里阅读了类似的问题并在 youtube 上观看了视频之后,我意识到 Socket 模块就是为此而设计的。即使在尝试之后,我也找不到通过公共互联网进行通信的方法。这是我尝试过的:
-
在服务器和客户端上使用我的公共 IP,而不是本地 IP
-
在客户端使用我的公共 ip 和 0.0.0.0 作为服务器端
-
使用 ngrok 的实例并使用它的 ip 和端口,但 python 会说:
OSError: [WinError 10049] 地址在您的上下文中无效
感谢您的宝贵时间。 如果有人可以提供帮助,我将不胜感激示例代码
【问题讨论】:
-
您是在正常的国内互联网连接上托管这些吗?您可能会发现您的家用路由器不允许您以脚本所需的方式侦听端口,除非您可以启用端口转发?当然,最简单的方法是将 API 用于现有的消息传递服务,例如电报。
-
@AriCooper-Davis 端口转发可能要花钱?无论如何,有这个网站pythonanywhere.com允许在云中托管和运行python代码(也是免费的(有限制obvs)),(可以制作一些基本的烧瓶应用程序进行通信,然后ping该服务器以获取更新和东西,或者也许可以那里也管理套接字,不太了解,只是它存在)
-
对于我的 ISP,我可以在路由器本身上设置端口转发,无需再向 ISP 支付费用,但如果您想要静态 IP 通常会产生额外费用。很高兴在任何地方了解 python!
-
@Matiiss 抱歉,无法在云中托管我的服务器,需要在我的电脑上,因为外部原因太长,无法在此评论上写。
-
@giocoacose 您可以使用云作为您的计算机和另一台计算机之间的代理,所以基本上您的计算机首先发送到服务器,然后服务器发送到另一台计算机,例如信息在您的计算机上可以先发送到云端,然后另一台计算机可以 ping 服务器并获取信息
标签: python chat communicate