前言
Steed是本人在公司从事通信引擎开发多年的经验基础上开发的一套通用的网络通信库,使用C++语言开发,支持高并发连接,底层使用IOCP技术。设计模式参考了著名的C++准标准库Boost中的Asio库。SteedNet是在遵循C++版本设计模式基础上,用C#编程语言实现并优化的.Net版本。
C++版本曾用于开发游戏服务器,.Net版本则用于开发物联网智能感知设备服务器。这是一套在企业项目实践中运行两年以上,经过考验的代码,现本人拿出来免费分享给广大的程序员朋友,欢迎下载使用(除商业用途,不提供源码)。
引擎概述
SteedNet是一套用于开发基于TCP协议的C/S结构应用程序的网络引擎组件,引擎组件的宗旨就是让网络应用程序开发人员能够摆脱网络底层功能的开发和维护,专注于上层的业务逻辑开发。它提供以非常简单的方式开发出功能强大的网络程序,同时事先解决了一些网络常见的问题:
一、完整的接收数据包。不会出现只接收到部分数据的情况,如果只接收到部分数据,则底层会等待其余数据,然后完整地提交给上层。
二、定时检查恶意连接。如果客户端只连接不发数据,以此占用连接数量,底层则会检测出来并自动关闭此连接。
三、防止恶意发送数据,占用内存。如果客户端用非法格式发送数据,当内存占用超过标准量,就会发送一条错误消息给逻辑层处理。