Python 有防火墙时程序是否通信?

Python 有防火墙时程序是否通信?,python,networking,Python,Networking,当有防火墙阻挡时,两个程序如何通信。我想要一种类似套接字的东西,但它不能通过防火墙工作。如果您必须使用第三方资源,这是可以的。我正在用python进行此操作。有两种可能的方法: 1) UPnP/NATPMP/PCP——这些协议由一些(大多数?)路由器实现 更可能的是,本地网络允许防火墙后面的应用程序进行交互 在这种情况下,您将数据包(从两个客户端)发送到各自的路由器 使用上述协议请求打开端口,然后进行通信 经常使用插座 2) 在某些情况下,NAT遍历是可能的——请阅读有关STUN服务器和ICE的

当有防火墙阻挡时,两个程序如何通信。我想要一种类似套接字的东西,但它不能通过防火墙工作。如果您必须使用第三方资源,这是可以的。我正在用python进行此操作。

有两种可能的方法:

1) UPnP/NATPMP/PCP——这些协议由一些(大多数?)路由器实现 更可能的是,本地网络允许防火墙后面的应用程序进行交互 在这种情况下,您将数据包(从两个客户端)发送到各自的路由器 使用上述协议请求打开端口,然后进行通信 经常使用插座

2) 在某些情况下,NAT遍历是可能的——请阅读有关STUN服务器和ICE的信息 协议。-这在UDP通信中最常见,尽管有时是TCP 流量也可以通过这种方式在网络中进行传输——最常见的技术是 UDP打孔

3) 如果这些都不适用(比如,大规模网络上的对称NAT),那么唯一的方法就是 当您通过公共可访问的服务器传递所有数据时,这将是一个转折点 服务器

P2P和NAT穿越在SIP、Voip和torrents中很常见,因此,免费的库
像VUZE(torrent开源库)一样,它是开始挖掘的好地方…:)

我该如何改进呢?有些人可能会说这在技术上不是一个编程问题,但我不同意,因为有一些方法可以编程与防火墙协作的系统。但是请注意,除了套接字之外,没有其他选择——更多的是关于如何使用它们。您可能想进行隧道挖掘。有没有任何代码示例?我想这可能是一个开始:但首先谷歌术语并在维基百科上阅读。这些大多是协议,因此,它是2小时的猴子编码。。。