这个工程是基于TCP长连接的包模式的网络通讯框架。
在TCP连接中,按照一个一个的包方式进行数据传输,框架实现了可以同时侦听多个端口,每个数据包既可以不压缩传输,也能支持zlib压缩和blowfish加密传输。
服务端提供三种线程池来进行tcp连接处理,一类是接收线程池,接收线程池获取每个socket传输来的数据包,同时保证每个socket的包按照到来的顺序进行处理,二类是工作线程池,由接收线程池把接收到的数据包投递到工作线程池,工作线程池专门处理这些接收到的数据包。
三类是发送线程池,当工作线程池处理完这些数据包,确定需要发送处理结果数据包到客户端,或者其他线程需要发送数据包到客户端,他们首先把数据包投递到发送线程池,发送线程池专门负责数据包的发送。
框架同时提供了每个客户端的定时器功能,在服务端内部各个socket之间数据通信等。
框架来源于一个没做完的手游服务端,至于没有使用现成的游戏通讯框架而自己实现,主要是因为习惯了自己造轮子。
因为项目没做完,所有没进行严格的测试,无法保证代码无BUG。
您若要使用到自己的项目中,请完全熟悉了之后再用,这样出现BUG也好自己修改。
框架支持Linux和windows平台。
相关BLOG请看如下连接:http://blog.csdn.net/fanxiushu/article/details/50631626
2023/12/2 4:42:36 224KB C++,通讯
1
采用AfxBeginThread创建工作线程
采用素数的判断来演示,涉及到多参数的传递,消息的响应和信息的实时显示等。
2023/7/9 6:12:46 5.14MB BeginThread 工作线程 多线程 mfc
1
一个Qt5多线程的简单实例,工作线程类WorkThread承继自QThread类。
2023/2/12 14:27:15 5KB 多线程 QThread
1
gh0stRAT是红狼小组出品的一款很优秀的远程控制软件。
自从红狼上次公布了gh0st2.5版本的源代码之后,就不断没开源了,这次更新的gh0st3.6又再次开源Gh0stRATC.RufusSecurityTeamhttp://www.wolfexp.net控制端采用IOCP模型,数据传输采用zlib压缩方式稳定快速,上线数量无上限,可同时控制上万台主机控制端自动检测CPU使用率调整自己的工作线程,稳定高效宿主为svchost以系统服务启动,有远程守护线程,上线间隔为两分钟。
心跳包机制防止意外掉线..支持HTTP和DNS上线两种方式自动恢复SSDT(这功能干什么,大家都知道,免杀自己做吧),安装本程序需要管理员权限控制端279K,返朴归真的界面,生成的服务端无壳,106K,EXE内的资源用UPX压缩,可安装多个服务端其它细节方面的功能大家自己去发现吧功能:文件管理完全仿Radmin所写,文件、文件夹批量上传、删除、下载、创建、重命名屏幕监视扫描算法速度最快可达到120帧/秒,差异算法适合网络极差的情况下传输,传输速度快,控制屏幕,发送Ctrl+Alt+Del,剪贴板操作,7种色彩显示方式,等......键盘记录可记录中英文信息,离线记录(记录上限50M)功能远程终端一个简单shell系统管理进程管理,窗口管理,拨号上网密码获取视频查看查看远程摄像头,快照,录像,压缩等功能...语音监听监听远程语音,同时也可以把本地语音传送给远程,进行语音聊天,GSM610压缩方式,传输流畅会话管理注销,重启,关机,卸载服务端其它功能下载执行指定URL中的程序,隐藏或者显示访问指定网址,清除系统日志地址位置将IP数据库文件QQWry.Dat放置程序同目录下即可显示地理位置集群控制可同时控制多台主机,同时打开视频监控等管理功能备注功能.........
2015/10/22 1:20:36 872KB gh0st3.6源码
1
完成端口通讯服务器(IOCPSocketServer)设计(六)功能强大的IOCPSocketServre模块例程源码Copyright©2009代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.csdn.net/guestcode一、声明版权声明:1、通讯模块代码版权归作者所有;
2、未经许可不得全部或部分用于任何项目开发;
3、未经许可不得部分修改后再利用源码。
免责声明:1、 由于设计缺陷或其它Bug造成的后果,作者不承担责任;
2、未经许可的使用作者不提供任何技术支持服务。
权利和义务:1、任何获得源码并发现Bug的个人或单位均有义务向作者反映;
2、作者保留追究侵权者法律责任的权利。
二、开发背景部分代码由前项目分离而来,尚未有应用考验,但对于初学者学习和进阶有很大帮助。
功能上尚未有定论,但应该不会令你失望。
三、功能说明1、可以关闭Socket的Buffer;2、可以关闭MTU(不等待MTU满才发送);
3、可以多IP或多端口监听;
4、可以重用socket(主动关闭除外);
5、可以0缓冲接收(Socket的Buffe=0时,避免过多的锁定内存页);
6、可以0缓冲连接(客户端仅连接,不一定立即发数据);
7、可以条件编译:a、是否使用内核Singly-linkedlists;
b、是否使用处理线程(工作线程和处理线程分开);
c、是否使用内核锁来同步链表。
8、可以实现集群服务器模式的通讯(有客户端socket);
9、可以单独设置每个连接的Data项来实现连接和Usernfo的关联;
10、每个线程有OnBegin和OnEnd,用于设置线程独立的对象(数据库会话对象);
11、可以提供详细的运行情况,便于了解IOCP下的机制,以及进行调试分析;
12、可以发起巨量连接和数据(需要硬件配置来支持)。
2019/3/8 21:17:23 966KB IOCP Socket Servre
1
(含源码及报告)本程序分析了自2016年到2021年(外加)每年我国原油加工的产量,并且分析了2020年全国各地区原油加工量等,含饼状图,柱状图,折线图,数据在地图上显示。
运转本程序需要requests、bs4、csv、pandas、matplotlib、pyecharts库的支持,如果缺少某库请自行安装后再运转。
文件含6个excel表,若干个csv文件以及一个名字为render的html文件(需要用浏览器打开),直观的数据处理部分是图片以及html文件,可在地图中显示,数据处理的是excel文件。
不懂可以扫文件中二维码在QQ里面问。
2022/9/30 16:31:44 29.75MB 爬虫 python 源码软件 开发语言
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡