android上的socket通信的开源框架有哪些

2025-05-20 06:50:46
推荐回答(2个)
回答(1):

Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,它在socket的基础上根据各种常用的应用协议又进一步封装,提供更便利的接口。如果需要快速搭建一个C/S服务框架,那Netty过来用是没错。 反过来你的情况是需要学习这个课程,你应该掌握基本的socket编程及其通信原理,所以学习时直接用socket编程比较好。也许哪一天,你灵感来了,编出一个比Netty更好的框架,一个更牛的软件。

回答(2):

长连接很难维护,你应该考虑重连和各种网络情况。我可以给你一个参考
首先你需要实现一个自带心跳的连接,发现断开则尝试连接,其次你需要在监控网络状态发现网络状态断开则停止心跳,如果网络状态连接则继续心跳。
然后你收到数据之后应该通过确认数据包,确认,否则服务器应该重发数据包。这一点很重要,否则你肯定会“丢消息”。

另外Netty是可以在android上使用的,如果有可能你最好用拉的方式轮询而不是push。