2013-09-22 73 views

回答

2

为了通过互联网进行P2P联网,您必须处理几个问题。主要是NAT穿越和防火墙。如果你不处理这些问题,你的连接将会出错。为此,最好使用现有的P2P框架。在Java中,其中一个主要框架是JXSE,它是JXTA协议的开源实现。该项目现已停止,但有大量文件可用。请参阅https://jxse.kenai.com

如果JXSE对于您的目的来说太重量级/复杂了,我可能会使用一个更小/更简单的P2P库来实现一些基本的NAT穿透或防火墙穿孔。这可能无法解释每一个案例,但它可能能够为特定案例工作。有一些可用的开源实现;谷歌它或看GitHub。

0

编写一个应用程序(服务器),打开一个套接字以侦听某个任意端口。编写另一个应用程序(客户端),向运行服务器的主机的IP地址和端口发送请求。

+0

但这只适用于本地网络,不适用于互联网 – oliverkn

+0

这取决于计算机所连接的网络。任何两台具有可路由IP地址的计算机都可以相互通话。如果您没有可路由的IP地址,还有其他方法可以使其工作:请参阅http://www.opendns.com/support/dynamic_ip/ – bryonbean