通过Intranet或Internet完成套接字连接

时间:2010-02-12 19:24:36

标签: flex air p2p nat serversocket

我正在编写一个点对点二进制套接字程序。只有两个端点。一个插座正在我的笔记本电脑系统上听。另一个套接字是从我的桌面系统广播。我有一个在托管服务器上运行的第三个程序,可用于代理两者之间的连接。我的问题是,当笔记本电脑和台式机在同一个网络上时,它们都具有相同的互联网IP地址但不同的内联网IP,但是当笔记本电脑在路上时,则IP地址不同。为了真正点对点,我必须编写它,以便在建立连接后,两台计算机之间直接通信。如果两台计算机可能共享同一个IP地址(如果它们在同一网络上运行),那么这通常如何实现呢?

1 个答案:

答案 0 :(得分:0)

你的问题是:我如何在P2P系统中处理network address translation

一种可能性是需要在NAT /防火墙系统中探测到漏洞 - 这将确保将对给定端口的请求发送到给定计算机。允许网络中的多个客户端需要戳多个孔并使用相应的端口配置每个客户端。

涉及UDP的另一种可能性是here - 我没有仔细检查它是否知道它是否真的在握手后将代理从等式中移除。

与往常一样,Google can be your friend