libyahoo2使用说明(二)MSGProxy设计
来源:互联网 发布:郭艾伦数据 编辑:程序博客网 时间:2024/05/14 13:17
MSGProxy程序的目的是作为即时消息网关。客户端采用Flash SWF程序。 为啥要开发这个程序咧?主要的原因就是因为Flash SWF不能直接访问如MSN, 雅虎通的服务器(Flash SWF 的Socket连接需要安全认证,即消息服务器必须处理请求)。
当前先实现和雅虎通的通信。后面会逐步增加对MSN, Jabber(XMPP协议)等的支持。
1. MSGProxy设计图
2. MSGProxy程序设计
a) 采用多线程设计,基于Linux2.6的NPTL线程库。线程分配策略为:
accept-read thread:监听TCP端口,并建立客户端连接,获取客户端发送报文(收到报文后,提交到该Session的工作队列,由独立线程来处理)。
worker thread:工作线程,每个客户端连接分配一个thread。工作线程处理报文,并与其他IM服务器通信和信息交换。最好的报文输出也是本线程的业务范围。
考虑性能因素,单MSGProxy进程最大服务1000客户端接入。系统部署时,采用多MSGProxy进程部署,进程间不需要通信。
b)采用基于Linux2.6的epoll库。
具体见下图:
- libyahoo2使用说明(二)MSGProxy设计
- libyahoo2使用说明(一)YMSG协议
- webpy使用说明(二)
- vlayout使用说明(二)
- weka中文使用说明(二)
- neo4j 的使用说明(二)
- jqPlot图表插件使用说明(二)
- HWSoft命令使用说明(二)---管线绘制
- SoftICE使用说明(二)
- ClientScript.RegisterStartupScript使用说明二
- ftrace使用说明(二)
- github使用说明二
- Libsvm使用说明(二)
- GreenDao的使用说明(二)
- 工作流设计器使用说明
- LibLinear(SVM包)使用说明之(二)MATLAB接口
- LibLinear(SVM包)使用说明之(二)MATLAB接口
- LibLinear(SVM包)使用说明之(二)MATLAB接口
- 僵尸进程
- libyahoo2使用说明(一)YMSG协议
- MySQL收费方式
- java面向对象
- Android开发教程——Assets
- libyahoo2使用说明(二)MSGProxy设计
- HDU 1063 Exponentiation解题报告
- 一道小米的关于柱状图求最大矩阵面积的题
- C语言的数组、字符串等一些知识总结
- Java Annotation详解
- Enclose--凸包
- 牛人博客收集
- 雅虎通协议
- s3c6410(arm11核)的nandflash移植