IOCP服务器端框架,用于实现高并发服务器下载

weixin_39820535 2019-10-17 03:30:15
自己准备实现一个web服务器学习IOCP而封装的一个框架,能适应高并发(默认我设置是64个)连入及多client同时在线传输数据(最大测试到30000).包括TCP与UDP两种协议的IOCP封装实现。比较好的解决了掉线,死机,超时等socket关闭问题及WAIT_TIME问题。同时用较好方式实现了AcceptContext,ReceiveContext,Sendcontext的管理(自己写了个static类),重用各种context,避免频繁的new与delete操作.系统容量会随接入用户自动提升.框架清楚,接口已经做好,写web服务器是很容易的事情了。
相关下载链接://download.csdn.net/download/m__point/1101107?utm_source=bbsseo
...全文
9 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
c# 物联网平台服务器框架源码。集成iot,web api服务,这套带码是通过C#编写集成IOCP高性能高并发优势服务器服务源码。带手机app测试demo源码 具体具备功能如下: 1、具备EF6+mssql数据库功能,可更改为MYSQL或SQLITe. 2、自带WEB API服务,抛弃IIS支持。用户可以通过WEB前端直接读取远程设备数据以及下发控制指令。WEB API功能有服务器日志查询、WEB API接口认证用户管理、远端设备注册管理、服务器轮询读取任务启停、服务器参数设置、查询历史数据记录、下发指令到终端设备。 3、系统目前支持modbus 、modbus rtu协议,可定制开发集成Modbus TCp、西门子PLC S7协议、OPC协议、三菱PLC协议以及集成MQTT服务(以上协议在框架中没有集成,可以定制集成)。 4、系统自带MVC服务,开发API像平常使用的一样方便。另外它自带硬件协议驱动。 5、与传统协议方法不同,比如Modbus设备,需要PC端主动去连接设备,而这套框架只需要监听端口,服务器就能自动去轮询终端所有设备。 6、API接口具备动态增加轮询读取数据的任务,并且具备定时读取任务启停、任务创建和销毁、特殊读取任务定制等等。 7、运行方式以Windows服务的方式,通过API简单配置服务器参数后,只需重启本服务即可生效。 9、更快更方便的安装部署方法,支持一键安装部署,无需复杂的设置配置过程。自带WEB API与WEB应用、自带Lot服务器应用 ,可定制集成为自带MQTT服务器,一切都免除了第三方服务软件的复杂安装配置过程。 10、完整的使用说明文档。 11、强大的技术团队支持。 该框架是应用方面的DEMO源码,MVC API底层源码、IOCP Sockect源码以及通讯协议源暂不提供,如需要源码的朋友私聊 物联网服务器框架已升级至2.0.2.6。升级内容如下: 1、加入了自适应服务规则,对内存、CPU及硬盘资源进行分流控制,对服务器要求更低,速度并发更高。 2、加入了一键启动服务,自动创建数据库以配置参数功能。省去了复杂的配置过程。 3、修复了物联网设备数据读取时超时问题,加入了可灵活配置的时间机制。 4、加入了物联网设备标识,使一个4G DTU设备可以挂载多个485或232从站。 5、开放服务器接收源数据事件接口,使用时可以自定义协议以及扩展性更强。
本帖最后由 Mruos 于 2019-2-22 13:53 编辑 bl-api-cloud,轻云服务端 为轻量级可扩展的API服务端框架,主要用于响应http请求,开发者可通过开发自己的功能插件(.dll)进行加载以达到扩展。 丨前言 之前发过帖子《【框架】bl-api-cloud,高性能可扩展的API服务器》https://bbs.125.la/forum.php?mod=viewthreadtid=14191272extra= 且获得了不少网友的认可,最近几天就行了大的优化、更新,并全部开源出来。丨用途 为其他程序、应用,提供便捷的http接口搭建功能,开发者从而不再需要使用大型、复杂框架。 (毕竟很多时候为了一个小接口不值得用主流语言的比如java的Spring或python的Flask去搭建服务端) 举个最简单的例子,有时在授权、防破解等应用中,我们需要获取准确的北京时间。一般我们为了方便会通过第三方来获取:找个提供北京时间的第三方web页面;写个模块或DLL,提取页面里的北京时间;弊端:如果第三方页面出现问题,或web页面源码有变动,那么获取就会失败,进而影响了所有使用了此模块/DLL的程序。其实,很简单,我们让自己的服务器自动同步了时间(一般都默认开启着),然后提供一个http接口即可,用自己的最稳定。网页_访问 (“http://192.168.1.1:6680/api/sup/bjtime/10 ”)我自己使用本框架已应用的领域: 如取北京时间等实用接口;搭建自己的网络验证系统(用户注册、登录、程序使用授权);搭建微信公众号后台程序(没错,完全没问题);web页面搭建,只要有能力,你可以搭建出任意页面;(当然搭建企业级或大型复杂些的建议使用主流语言的主流框架,毕竟使用这个费劲死了,需要自己建设的方面太多)丨特色 1、通讯组件使用的为HPsocket,强大、稳定 HP-Socket,是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统。 其Server 组件:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 应用程序能够根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项性能参数(如:工作线程的数量、缓存池的大小、发送模式和接收模式等),优化资源配置,在满足应用需求的同时不必过度浪费资源。 2、双服务端支持(http、https) 服务端启动端口自定义,默认http服务端80端口,https服务端443。当然本框架出发定性小众领域使用,可以设置其他端口,以免占用重要的web框架接口。 3、扩展便捷 扩展(插件)为DLL文件,只需放入根目录下的/plugins 即可。DLL支持热加载与释放,无需终止服务端主程序即可进行DLL更新。 开发模板简单,一目了然,因为全部开源,开发者依然可以自主向插件传递更多可操作的主程序指针(通常模板自带功能足够使用了)。 每个插件都有自己的http访问请求处理域且可以是多个,插件之间不会互相冲突; 在两个示例demo中,对于/api/sup/bjtime 根址的http请求,服务端只push到了bjtime.dll插件,对于/web 的http请求,服务端只push到了web-demo.dll插件。 提供有2个扩展开发模板demo: (1)bjtime 示例如何返回Get请求,功能性代码不足20行即可实现; (2)web-demo 示例web页面返回,提供Get静态web目录文件回执和向服务端Post数据处理示例; 1、访问页面(http与https) 2、post数据 4、集成实用便捷功能 自带集成多色日志输出、debug消息模式、访问频率保护等功能; (1)多色日志输出 主程序的日志消息窗口,可以对应不同的日志显示不同的颜色,方便开发者一目了然的找到查看消息。如: 灰色(gray)的为debug消息; 红色(red)的为异常或错误信息; 绿色(green)的为收到的事件; 黄色(yellow)为重要系统消息; 当然可以自己设置其他颜色,以及如何输出。 注意: 多色输出使用的是超级编辑框组件,在高并发下是否对程序效率影响有待考证(组件可能拖累程序),请自行进行取舍、替换。 (2)日志记录 主程序集成一个简单日志记录模块,主程序运行每一次运行后都会在/log 目录创建一个日志文件(名称以运行开始时间-运行结束时间.txt为名,方便开发者查找时段消息)。 开发者也可以在自己开发的插件中加入独立的日志记录。 (3)debug消息模式 主程序启动后通过输入sys debug on、sys d

12,694

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧