2012-01-28 112 views
3

我正在寻找关于在Python中开发客户端/服务器服务程序的技术(和库)的建议。它可以在静态IP(它是好的),动态IP,在路由器,移动提供商之后运行(所以,它应该在任何可能的地方工作)。端口转让不是一种选择。路由器后面的Python客户端/服务器

主要问题是连接:

  • 发送:从互联网到电脑的路由器后面的路由器
  • 听电脑的背后
+3

路由器的存在与否有关?它应该是透明的,并由路由器的IP层处理。将流量路由到网络中的正确终点是整个路由器的要点... – immortal 2012-01-28 23:04:05

+0

清晰的想法,谢谢。我在这个问题上不流利(这就是为什么我问:),但通常你不能从互联网上访问路由器(带有NAT)的计算机。因为,如果它ping,你只知道由ISP给出的公共IP。如果你只想连接到这台电脑,那么你只有公用IP。创建像100.100.100.100/192.168.1.2(公网IP /本地IP)这样的连接会很棒,但我不确定这通常是可能的。你怎么看? – Yury 2012-01-29 18:42:08

回答

3

你的问题不是小事一桩,但希望这可以帮助你走。 Twisted可能是python中客户端/服务器代码的最佳库。 STUN,也许TURN通常是做这种事情的协议。

有一个python library for STUN,虽然我不能担保。

+0

谢谢你的建议,STUN和TURN是找到答案的方法。对于我的雅虎问题也有很大的反响,可以从TURN维基页面访问。扭曲是很好的框架,但它似乎不支持在NAT后面工作...我不确定完全,但[这里](http://twistedmatrix.com/pipermail/twisted-python/2009-Octobe/020721 .html)smb回答了这个问题。 – Yury 2012-01-29 18:12:36

1

STUN有两个版本:RFC3489,RFC5389,后者是新版本。 TURN是“继续扩展到NAT的会话穿越实用程序(STUN)”,可以在这里找到RFC5766

STUN客户:(RFC4389)pystun(在python)

TURN客户端(也支持STUN RFC5389)turn-client(Python和C)现在

相关问题