0

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

4

1 回答 1

0

您的问题确实是:我如何处理P2P 系统中的网络地址转换?

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

涉及 UDP 的另一种可能性在这里——我还没有对其进行足够的审查,无法知道它是否真的在握手后从等式中删除了代理。

与往常一样,Google 可以成为您的朋友

于 2010-02-12T21:05:04.340 回答