DIOCP3-关于TIOCPConsole和编码解码器】的更多相关文章

TIOCPConsole是继承至TIocpTcpServer,做了管理和调用编码和解码器器的功能.可以通过向他注册编码和解码器可以忽略粘包的问题.   这样如果TIOCPConsole客户端必须按照一定的编码器和解码器的协议发送数据和接受数据, diocpCoders中已经有了几种编码和解码器, 比较常用的TDIOCPStreamCoder 他的格式是Pack_Flag + streamLen + Stream数据 如果不是这种数据格式会认为是客户端在攻击服务器会被T掉. 其他的格式的编码器也是…
DIOCP3兼容DIOCP1的,有些属性做了修改 DIOCP3, uIOCPConsole没有了, uMemPool没有了 1.DIOCP1,代码:   DIOCP3中去掉TIOCPContextFactory, 可以直接往TIocpConsole(uIocpCentre单元中)对象上注册.TiocpConsole有对应的方法 这样可以每个TIocpConsole有自己独立的编码和解码器,更灵活,更方便了.   2.在线列表   DIOCP1中TIOCPContextFactory.instan…
libZPlay 音频编码解码器库 http://www.oschina.net/p/libzplay libZPlay 播放音乐并显示 FFT 图形 :http://www.oschina.net/code/snippet_12_2553 .这个找了好久,无意间才发现的,记录下.…
条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,通用于世界各地,是目前国际上使用最广泛的一种商品条形码.我国目前在国内推行使用的也是这种商品条形码.EAN商品条形码分为EAN-13(标准版)和EAN-8(缩短版)两种. 二维码的编码标准: 全球现有的二维码多达200种以上,其中常见的技术标准有PDF417(美系标准),…
本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需要用手机扫描一下就可以看到手机版网易的网址,免去了输入长串字符的麻烦. 条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,…
DIOCP3除了有详细的监控面板之外,还有详细的输出日志,当然需要打开日志编译开关! 在工程选项加入DEBUG编译指令,这样在运行中就可以看到DIOCP3的运行详细日志 日志输出在EXE相同目录的LOG文件夹下面.   日志说明: 8276_iocpSVR_2015010712.log 8276      是进程ID iocpSVR是程序中iocpTcpSERVER的名字 2015010712 日志文件生成时间   12:30:24:318[message][PID:8276,ThreadID:…
服务器的连接上限是到底是多少?diocp3开源项目的一个装13测试(8W连接数) 测试DEMO路径 diocp3\samples\ECHO 之前群里说一台服务器最多是High(Word)的连接数65535,当时我看了下socket的类型是u_long,并不是word,虽然不用那么多连接数,虽然当时润哥做过测试.今天发现我的机子可以上6W的连接数,果断对diocp3做了下连接数测试.8W连接数,内存441M,应该上10W 不是啥问题.当然实际中不可能单台服务器可以处理这么多连接,显然是个装13的测…
[说明] 这个例子答应大家很久了,一直没有时间弄,现在正式结合MyBean插件可以很方便的在客户端共享操作连接,执行数据库的各项工作,屏蔽了底层的通信解码器编码等工作,直接传递Variant,给了开发者足够的领活和自由. [服务端使用技术] diocp3:担当底层的通信任务. qworker/iocpTask:担当业务逻辑的处理工作,diocp3接受数据解码后用qworker/iocpTask将数据包投递出来,这样不用占用通信线程. qmsgpack:负责将传递的将variant数据打包到流,从…
DIOCP3支持两种方式接收数据,   第一种是原始的流数据, 最通用的一种方式,客户端发啥,这边就收到啥.需要自己处理粘包问题. 可以在TCilentContext或者TIocpTcpServer的OnRecvBuffer中处理, 如果Errcode = 0可以进行收到数据的处理 下面这两个都会触发 TIocpClientContext procedure OnRecvBuffer(buf: Pointer; len: Cardinal; ErrCode: WORD); override;  …
昨天有个多年的群友(B3.Locet)用LoadRunner11对DIOCP3做压力测试,说测试的时候出现了大量的10053,10054的报告.昨天晚上下载了个LoadRunner11, 今天捣鼓了下.没用过这么高级的东西, LoadRunner是专业的测试工具,用来测试DIOCP3 Echo测试服务器,是用socket协议进行测试 脚本写的很简单,每次发送101次数据,然后关闭连接. 在运行的时候模拟1000个用户运行,可以选择连续执行,或者只运行一次.经过测试发现,报告上面出现大量的1005…