CSDN-TCP基于数据包通讯框架

时间:2019-02-23 17:43:14
【文件属性】:

文件名称:CSDN-TCP基于数据包通讯框架

文件大小:224KB

文件格式:RAR

更新时间:2019-02-23 17:43:14

C++,通讯

这个工程是基于TCP长连接的包模式的网络通讯框架。 在TCP连接中,按照一个一个的包方式进行数据传输, 框架实现了可以同时侦听多个端口, 每个数据包既可以不压缩传输,也能支持zlib压缩和blowfish加密传输。 服务端提供三种线程池来进行tcp连接处理, 一类是接收线程池,接收线程池获取每个socket传输来的数据包, 同时保证每个socket的包按照到来的顺序进行处理, 二类是工作线程池,由接收线程池把接收到的数据包投递到工作线程池, 工作线程池专门处理这些接收到的数据包。 三类是发送线程池,当工作线程池处理完这些数据包,确定需要发送处理结果数据包到客户端, 或者其他线程需要发送数据包到客户端,他们首先把数据包投递到发送线程池, 发送线程池专门负责数据包的发送。 框架同时提供了每个客户端的定时器功能,在服务端内部各个socket之间数据通信等。 框架来源于一个没做完的手游服务端,至于没有使用现成的游戏通讯框架而自己实现, 主要是因为习惯了自己造*。 因为项目没做完,所有没进行严格的测试,无法保证代码无BUG。 您若要使用到自己的项目中,请完全熟悉了之后再用,这样出现BUG也好自己修改。 框架支持 Linux和windows平台。 相关BLOG请看如下连接: http://blog.csdn.net/fanxiushu/article/details/50631626


【文件预览】:
base_server
----src()
--------main.cpp(2KB)
--------server()
----base_server.v12.suo(70KB)
----base_server.suo(87KB)
----base_server.vcxproj.filters(4KB)
----makefile(764B)
----base_server.sln(1KB)
----base_server.vcxproj.user(165B)
----base_server.vcxproj(9KB)
说明.txt
zlib_src
----infback.c(22KB)
----inflate.h(6KB)
----crc32.c(13KB)
----inffast.c(13KB)
----inffixed.h(6KB)
----trees.c(43KB)
----gzlib.c(16KB)
----uncompr.c(2KB)
----gzread.c(18KB)
----deflate.h(12KB)
----gzwrite.c(16KB)
----inflate.c(52KB)
----inftrees.h(3KB)
----deflate.c(70KB)
----trees.h(8KB)
----zlib.h(86KB)
----crc32.h(30KB)
----zconf.h(15KB)
----gzguts.h(6KB)
----adler32.c(5KB)
----inftrees.c(13KB)
----zutil.h(7KB)
----gzclose.c(678B)
----inffast.h(427B)
----compress.c(2KB)
----zutil.c(7KB)
base_client
----base_client.sln(967B)
----src()
--------common.cpp(9KB)
--------list_entry.h(2KB)
--------common.h(7KB)
--------client.cpp(4KB)
--------base_buffer.h(477B)
--------crypt_msg.h(1KB)
--------crypt_msg.cpp(6KB)
--------base_buffer.cpp(3KB)
--------blowfish.cpp(17KB)
----base_client.v12.suo(44KB)
----base_client.vcxproj.filters(3KB)
----base_client.vcxproj(5KB)

网友评论