飞鸽传书代码泄漏

作为最知名的即时通讯软件,飞鸽传书可以说是历史悠久,用户极多。今天,看了看飞鸽传书的原创作者的网站,无意发现了他的源代码,有了源码,我们可以把它编译成任何语言的版本。
这个版本看起来比较简单,只可以发送消息和文件,但是,整个框架是健壮的,稳定的。要在上面添加任何特殊功能都非常简单。
1. 首先要先读懂代码(读代码当然需要花时间啦,别想一看就懂,需要耐心,慢慢看,一行一行看)。
2. 然后开始设计自己的功能,最好先单独把功能做好,然后再集成到飞鸽传书里。
3. 开始测试集成的新功能,最好你有几台电脑,这样测试更方便(要在同一台电脑上测试,会很复杂,很困难)。

新版本做好之后,你就可以到朋友面前晒晒了,系统包括采用4IOCP。其中一个TCP IOCP用作管理员客户端连接,以及将来的服务器聚合扩展;一个飞鸽传书TCP IOCP用于用户客户端登陆登出,以及数据补包;一个UDP IOCP用于心跳、P2P打洞处理、中转聊天的文字消息(包含系统表情);一个UDP IOCP用于中转聊天的非文本数据(比如图像)。4个IOCP间的桥接及系统日志、管理员日志、用户日志、插件日志均采用队列处理。系统所有内存使用均有专门的内存管理器负责管理。至于UDP为什么也要采用IOCP,原因则是,虽然普通的UDP已经很快了,但是,每次发送,接收仍均需要阻塞等待。虽然每次阻塞的时间很短,但积少成多,在大量连接的情况下,仍然会比较可观。而采用飞鸽传书IOCP,则就是为了经量减小每次阻塞的时间。

个人觉得没必要使用那么多IOCP,其实这样子做的目的是逻辑上面更加清晰,线程更加专用化,第一个IOCP其实就对应着一个线程池,但是这样子可能存在的就是线程的利用率不高.对于内存池,个人觉得也没有必要太过专职化,应该是根据线程(最好是CPU核心)进行分离,从而减少线程之间的同步消耗,另一个更为重要的是为往后NUMA技术的应用.

如果你把线程都指定到相应的CPU核心上,而把在同一核心上的线程看做是一组,那么在同组之内的线程同一时间肯定就只有一个访问某一资源了...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
飞鸽传书项目规格说明书 1. 项目简介 飞鸽传书是一款基于移动互联网的即时通讯应用,旨在提供便捷、安全、高效的沟通方式。用户可以通过飞鸽传书实现文字、语音、图片、视频等多种方式的信息传递。 2. 功能模块 2.1 登录注册模块 该模块提供用户注册和登录功能。用户需要输入手机号码、密码等信息进行注册,注册成功后可以使用注册的账号登录系统。 2.2 联系人模块 该模块提供用户添加、删除、查看联系人功能。用户可以通过输入联系人手机号码或扫描联系人二维码添加联系人,也可以删除已有联系人,并可以查看联系人的详细信息。 2.3 聊天模块 该模块提供用户发送、接收消息的功能。用户可以选择发送文字、语音、图片、视频等多种类型的消息,也可以在聊天中发送表情等符号。 2.4 设置模块 该模块提供用户修改个人信息、修改密码、退出登录等功能。用户可以在该模块中修改个人头像、昵称、个性签名等信息,并可以修改登录密码。用户也可以在该模块中选择退出登录。 3. 技术实现 3.1 前端技术 前端采用React Native技术进行开发,实现跨平台的移动应用程序开发。界面设计采用Material Design规范,提供良好的用户体验。 3.2 后端技术 后端采用Node.js技术进行开发,使用Socket.io技术实现即时通讯功能。同时使用MySQL数据库存储用户数据。 4. 安全性考虑 4.1 用户密码加密 用户密码采用MD5加密算法进行加密,确保用户密码不被泄露。 4.2 数据传输加密 使用SSL协议对数据传输进行加密,确保数据传输过程中不被窃取或篡改。 4.3 账号登录限制 每个账号登录设备数进行限制,避免账号被多次登录引发安全问题。 以上是飞鸽传书项目规格说明书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值