python 2.7.2 windows 7 32位
让我以我对网络编程相当陌生来开始这个问题。我使用 python 的内置 SocketServer 创建了一个简单的服务器和客户端
SocketServer.ThreadingTCPServer((host, port), Handler)
当主机是“localhost”并且客户端和服务器在同一台机器上时,这可以正常工作。但是我希望能够通过互联网访问服务器。我的电脑在路由器后面。我正在使用 pystun(如下)来确定我的计算机公共 IP 地址,但无法连接。我做了一些研究,据我了解,当程序打开一个端口时,路由器会识别出该端口并将流量转发到该计算机。这似乎没有发生。我在禁用防火墙的情况下得到相同的结果。我需要使用端口转发吗?大多数应用程序如何能够从路由器后面进行通信?我在这里查看了打孔器(以下来源)和通过 win32com 进行的端口转发. 我正在寻找可以为我指明正确方向的人。如何以编程方式让服务器从路由器后面打开侦听端口并将流量转发给它?
打孔器来源:https: //coherence.beebits.net/svn/trunk/Puncher/puncher/base.py pystun:http ://pypi.python.org/pypi/pystun