我想构建一个像Android这样的p2p工作的(Android)应用程序
服务器(对等方列表(用户名和IP))
&安培;
电话(从服务器获取对等列表并在它们之间创建套接字聊天(电话到电话),不涉及服务器)
到目前为止,我已经设置了服务器和一个发送消息的电话客户端,并由另一台服务器(最终将在其他客户端电话中)接收。但是,我遇到了通过NAT为手机分配ip的问题,我需要进行NAT Traversal。
我在想,有没有更简单的选择去NAT Traversal?或许在其中使用带有libjingle的XMPP端口? (A la ASmack)。或者我应该只使用JSTUN或其他一些框架的android?你们推荐什么?
由于
答案 0 :(得分:0)
退房:Kryonet。
您可以通过Kryonet在一个LAN连接中发现只有一行代码的服务器,然后检索所有客户端的地址,并根据您的应用程序设计尝试连接它们。
它甚至以聊天应用程序为例,Kryonet在桌面和Android设备上运行。
如果您有静态全局IP,那么您可以非常轻松地使用Kryonet编写服务器代码,其中包含在线用户及其IP的映射,然后如果他们不在,则可以进行打孔以建立P2P连接同一局域网。