在Android平台上进行socket通信时,可以选择多种开源框架。例如XMPP协议的即时通讯方案,其中的openfire和androidpn都是基于Apache Mina开发的。然而,这些框架通常需要二次开发,并且改动较大,源码中的代码结构也不够理想,存在较多耦合,这使得扩展性较差。
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,它在socket的基础上根据各种常用的应用协议又进一步封装,提供更便利的接口。
Hardcoder Client 端与 Server 端***用的是 LocalSocket 的通信方式,由于 Hardcoder ***用 Native 实现,因而在 C 层使用 Linux 的 socket 接口实现了一套 LocalSocket 机制作为 Client 端与 Server 端之间的通信方式。
在Androidpn的底层主要***用的两大框架mina和openfire两大框架,其中mina主要为底层数据传输的Socket框架。
针对TCP/IP的Socket、ServerSocket (2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有一点与普通互联网应用有所差异的。(3)针对直接URL的HttpURLConnection。
野火 IM 是一套跨平台的即时通讯解决方案,开源核心功能,适用于需要自定义集成的项目。
服务端突破7K star:在GitHub上,OpenIM的服务端项目已经获得了超过7000个星标,成为开源IM领域的领跑者。每周迭代版本发布:OpenIM坚持每周五推出新版,包含新特性发布、bug修复以及PR的合并,保持了项目的活跃度和稳定性。
web端体验:open-im-online.rentsoft.cn...安卓端体验:pgyer.com/OpenIM 服务端超过7K star,OpenIM作为开源IM的领跑者,离不开大家的支持。消息经过压测和可靠性测试,请放心用于生产环境。服务器资源:8核16G内存,6个机械磁盘,每个磁盘100G,mongo分片,10MB带宽。
的服务你可以在GitHub上搜索开源IM即时通讯项目,并根据自己的需求选择相应的源码。
关于mina即时通讯和的介绍到此就结束了,感谢你花时间阅读本站内容,更多关于、mina即时通讯的信息别忘了在本站搜索。