在NAT路由器后面的Android上的即时消息服务器

时间:2010-09-02 08:38:13

标签: android messaging traversal nat instant

我正在为Android制作IM应用程序。 该应用程序由服务器和客户端组成,两者都驻留在android上。 在启动时,应用程序向Web服务器注册。 如果客户端想要将IM发送到NAT路由器后面的服务器,该怎么做? 我听说过stun4j和jstun,但在android中找不到它们的用法示例。 谢谢!

2 个答案:

答案 0 :(得分:1)

为什么服务器必须在设备上?

这似乎无效,android最适合作为典型的客户端设备。

制作即时消息应用非常简单。

只需让客户端向网络服务器发送消息,然后存储它们即可 让其他客户端等待或轮询来自Web服务器的消息。

无论互联网连接类型如何,这都可以。

如果您坚持要在设备上安装服务器,我认为您将获得的最接近的解决方案是使用某种upnp库。

使用upnp,您可以告诉路由器自动为您的服务器端口设置NAT。

这对于已在其路由器中禁用upnp的用户不起作用。

答案 1 :(得分:0)

stun4j不是适用于所有NAT的通用解决方案。

最简单&最可靠的解决方案是通过具有已知地址的外部网络服务器发送消息。