繁体   English   中英

需要有关Android套接字编程的建议

[英]Need suggestions for android socket programming

我们正在开发一个可通过wifi发送和接收短信的android应用。 我们使用TCP套接字进行此通信(IP地址和随机端口),但是问题是,如果我不允许路由器的“端口转发部分”提供这些端口号,则无法发送消息。 有什么办法可以解决这个问题?

您可以从选定范围内随机选择端口,并在路由器中转发该范围,如下所示:

int端口=(Math.abs(random.nextInt()))%3000 + 1024;

这样,我生成了一个介于1024和2999之间的随机数。或者只是选择一个固定端口。

如果两个客户端都位于不同的限制性防火墙之后,则应研究打孔,两个客户端都在其中打开与第三台服务器的连接,然后第三台服务器预测在NAT上打开的端口: 使用Java进行NAT遍历https ://stackoverflow.com / questions / 917385 / nat-traversal-with-java / 请注意,如此处所述,P2P应用程序(即客户端到客户端)通常需要这样做。 是的,它非常复杂和令人讨厌:(

您最好使用Amazon Cloud Services之类的东西将消息存储在云中,并使用基于推送的机制在消息接收时通知另一方,也许使用长轮询HTTP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM