要做一个类似于微信或者QQ的Android、ios的聊天应用,请问服务器端用什么技术或开源框架比较好?

要做一个类似于微信或者QQ的Android、ios的聊天应用,请问服务器端用什么技术或开源框架比较好?,第1张

即时聊天通用的协议是 XMPP,基于这个协议有一套java开源的服务端 openfire,可以快速的搭建一套即时聊天服务端。

但是现在有不少云即时通讯服务。例如

容联云通讯、云之讯、环信、融云

这些云服务提供了api,我们基于他的api开发很容易实现自己的即时聊天软件。服务端,服务器都不用我们自己管了,极大的节省了成本和开发周期。而且这些云服务基础服务都是免费的。

建议用第三方的云服务实现。

Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,

NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。

AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持

I/O属于底层操作,需要操作系统支持,并发也需要操作系统的支持,所以性能方面不同操作系统差异会比较明显。另外NIO的非阻塞,需要一直轮询,也是一个比较耗资源的。所以出现AIO


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/262425.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存