飞鸽传书代码泄漏
来源:互联网 发布:linux 文件匹配 编辑:程序博客网 时间:2024/05/16 00:59
作为最知名的即时通讯软件,飞鸽传书可以说是历史悠久,用户极多。今天,看了看飞鸽传书的原创作者的网站,无意发现了他的源代码,有了源码,我们可以把它编译成任何语言的版本。
这个版本看起来比较简单,只可以发送消息和文件,但是,整个框架是健壮的,稳定的。要在上面添加任何特殊功能都非常简单。
1. 首先要先读懂代码(读代码当然需要花时间啦,别想一看就懂,需要耐心,慢慢看,一行一行看)。
2. 然后开始设计自己的功能,最好先单独把功能做好,然后再集成到飞鸽传书里。
3. 开始测试集成的新功能,最好你有几台电脑,这样测试更方便(要在同一台电脑上测试,会很复杂,很困难)。
新版本做好之后,你就可以到朋友面前晒晒了,系统包括采用4IOCP。其中一个TCP IOCP用作管理员客户端连接,以及将来的服务器聚合扩展;一个飞鸽传书TCP IOCP用于用户客户端登陆登出,以及数据补包;一个UDP IOCP用于心跳、P2P打洞处理、中转聊天的文字消息(包含系统表情);一个UDP IOCP用于中转聊天的非文本数据(比如图像)。4个IOCP间的桥接及系统日志、管理员日志、用户日志、插件日志均采用队列处理。系统所有内存使用均有专门的内存管理器负责管理。至于UDP为什么也要采用IOCP,原因则是,虽然普通的UDP已经很快了,但是,每次发送,接收仍均需要阻塞等待。虽然每次阻塞的时间很短,但积少成多,在大量连接的情况下,仍然会比较可观。而采用飞鸽传书IOCP,则就是为了经量减小每次阻塞的时间。
个人觉得没必要使用那么多IOCP,其实这样子做的目的是逻辑上面更加清晰,线程更加专用化,第一个IOCP其实就对应着一个线程池,但是这样子可能存在的就是线程的利用率不高.对于内存池,个人觉得也没有必要太过专职化,应该是根据线程(最好是CPU核心)进行分离,从而减少线程之间的同步消耗,另一个更为重要的是为往后NUMA技术的应用.
如果你把线程都指定到相应的CPU核心上,而把在同一核心上的线程看做是一组,那么在同组之内的线程同一时间肯定就只有一个访问某一资源了...
- 飞鸽传书代码泄漏
- 飞鸽传书代码泄漏
- 飞鸽传书原创代码测试
- 飞鸽传书
- 飞鸽传书
- 飞鸽传书
- 飞鸽传书
- 飞鸽传书2012 的网络通信代码
- 损人不利己的飞鸽传书 部分代码公开
- 飞鸽传书原理以及相关代码详解
- showmount代码内存泄漏
- csdn 代码泄漏
- 飞鸽传书每写一行代码都会有新的成就
- C代码检测内存泄漏
- C++代码内存泄漏检测
- 内存泄漏常见代码片段
- 飞鸽传书2011下载(飞鸽传书)
- 【飞鸽传书】飞鸽传书2011绿色版
- 淘宝UED招聘题解(前端开发部分)
- 关于设计品质保证(DQA)的几点想法
- 理想的飞鸽传书
- 预防飞鸽传书垃圾信息
- Screen coordinate and Client Coordinat
- 飞鸽传书代码泄漏
- 受益一生的18条定律
- 转自:今天我们怎样学软件技术,怎样教软件课程?——作者:金旭亮
- MDI子窗口一启动就最大化
- 怎样显示子对话框标题栏上的图标
- mysql 建表设置时间默认值
- 取得数据库中所有表字段及字段中文描述的SQL语句 sql2005
- Open SQL vs Native SQL
- 【转】‘压缩传感’(Compressive Sensing)引论--沙威