Apache MiNa + smack +openfilre 实现多人聊天室
来源:互联网 发布:sql server 2000 网盘 编辑:程序博客网 时间:2024/05/23 13:08
前不久用Socket写的聊天程序,主要是手机端程序通过Socket连接服务器端的ServerSocket,然后服务器端根据客户端发送过来统一规范的报文。进行解析再用smack框架转发到openfire服务器,最后由openfire服务器向客户端程序发送聊天信息。
最近发现socket服务器资源消耗比较大。我是采用阻塞式多线程通信方式,这种方式会造成大量的服务器资源浪费、长期的占用服务器的CUP调度权,并且会长时间阻塞程序,等待客户端连接、发送消息等。
为了解决上面的状况,Apache MiNa能很好的解决这个问题。Mina采用的是非阻塞式、单线程、NIO通信方式。
非阻塞式通信的思想是:让一个线程同时完成多件事,这个线程会利用完成这件事的空余时间去完成另一件事,一刻也不闲着。这个线程同时也会不断监控每件事情中需要处理时间的发生,发生一个就处理一件,然后继续监听各自事情。
0 0
- Apache MiNa + smack +openfilre 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室
- Apache MiNa 实现多人聊天室(好文,收藏)
- MiNa 实现多人聊天室程序
- smack 多人聊天获取聊天室列表
- android IM的实现:聊天室(采用smack API)
- 《数据结构(C++)版》之第6章 图
- OC的基础知识
- 自定义C/C++头文件以及重复定义的解决
- 雷观(十六):帮人写项目,不如教会别人写项目的方法
- JavaScript中Textarea滚动条不能拖动的问题
- Apache MiNa + smack +openfilre 实现多人聊天室
- latex中argmax,argmin中下标写法
- 学习loadrnner结果分析时看见的一些资料
- 一年站长经历后的感悟
- POJ1840 Eqs ACM解题报告(打表+构造)
- TCP/IP协议 三次握手与四次挥手
- 第十七周项目4-1:日期结构体
- nagios的安装和配置
- 全球最快的JS模板引擎