UncleCHN / TcpServer

使用c++设计实现了windows平台下基于iocp的tcp网络库,实现了c++,c#两版本,用于项目服务器,客户端等各种网络通信的基建,类似于目前流行的各大网络库,主要应用场景为客户端与服务端通信,数据传输下载,图像视频流网络传输等 这个项目的特点是架构上采用了任务消息队列分发接受数据流任务包的异步架构,支持协程处理数据包,化异步为同步处理,消息处理方面可以定制自己的包数据结构,通过继承消息处理基类,生成特定的包数据结构, 比如,自定义的游戏通信包,http包, websockt包,后两个包在库中有相应实现, 在接受数据包方面,是通过解包控制拼合出合适长度的数据包,任务消息队列可以定制多个数量(相当于生成多个处理指定socket任务的线程),以适配多个socket连接的分类通信,这种定制可以适应做多线程下载软件方面的基建定制,传输文件是,可以在库上层做一个大文件分割,合并的处理库,这样就可以用于传输大文件, 同时保持了iocp 多线程小数据包的特性。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repository is not active

About

使用c++设计实现了windows平台下基于iocp的tcp网络库,实现了c++,c#两版本,用于项目服务器,客户端等各种网络通信的基建,类似于目前流行的各大网络库,主要应用场景为客户端与服务端通信,数据传输下载,图像视频流网络传输等 这个项目的特点是架构上采用了任务消息队列分发接受数据流任务包的异步架构,支持协程处理数据包,化异步为同步处理,消息处理方面可以定制自己的包数据结构,通过继承消息处理基类,生成特定的包数据结构, 比如,自定义的游戏通信包,http包, websockt包,后两个包在库中有相应实现, 在接受数据包方面,是通过解包控制拼合出合适长度的数据包,任务消息队列可以定制多个数量(相当于生成多个处理指定socket任务的线程),以适配多个socket连接的分类通信,这种定制可以适应做多线程下载软件方面的基建定制,传输文件是,可以在库上层做一个大文件分割,合并的处理库,这样就可以用于传输大文件, 同时保持了iocp 多线程小数据包的特性。


Languages

Language:C 76.1%Language:C++ 14.9%Language:Objective-C 7.3%Language:Shell 1.5%Language:Awk 0.2%