如何在位于不同NAT的两个Python程序之间使用套接字进行通信?

6

我想使用套接字在两个Python程序之间发送和接收消息。当计算机连接到同一个路由器时,可以使用私有IP来实现此操作,但是当它们之间有2个NAT时该怎么做呢?

谢谢(这是我的第一个SO问题)


这是客户端-服务器还是点对点? - Neil
你是在寻找一种后门吗?试试pwnat(C代码,但由于它已经编译在你的操作系统中,所以你可以轻松地将其集成到你的Python程序中)---> http://samy.pl/pwnat/ - devasia2112
点对点的去中心化2人游戏。只需要一个无需设置的东西,玩家可以输入他们想要对战的IP地址,代码会自动处理。不想使用服务器或在NAT表中设置端口转发。 - holmeswatson
3个回答

2

如果没有一个公开可寻址的IP地址上的继电器服务器,通常情况下无法完成该操作。有所谓的“穿透”技术,在某些情况下,可以让您在使用公共服务器确定端口映射后切换到直接连接。 这篇文章 描述了RakNet游戏网络库是如何实现的,但即使是这些技术往往也很棘手和不可靠。


0

0

Redis可以工作,但功能不完全相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接