- 博客(4)
- 资源 (7)
- 收藏
- 关注
原创 DELPHI高性能大容量SOCKET并发(十):IOCP完成端口性能优化
IOCP性能优化主要是集中在每个处理接收数据和发送数据的对象锁,如果能降低锁的调用次数和提高锁的效率,对IOCP的整理效率和吞吐量都非常有帮助。有很多开发人员在优化IOCP的时候,对于如何提高锁的效率,有使用原子操作来加锁,这样做的效率比较调用Windows的锁效率,因而吞吐率也更高。我们不讨论提高锁的效率,我们这次的优化是降低锁的调用次数。服务端优化IOCP是异步线程通知方式,有
2013-06-10 22:22:36 9631 9
原创 DELPHI高性能大容量SOCKET并发(九):稳定性问题解决
IOCP接收缓存导致的内存错乱在用IOCP控件写了一个ERP服务器后,服务器会发生运行3天后,出现莫名的内存错误,用FastMM检测,是本没有内存错误的地方,而且内存错误出现的地方也不固定。这是一个不可重现的Bug,后续通过打日志把错误范围缩小后发现,每次出现内存错误之前都是由于有链接断开释放,因此就加了日志逐步定位到是TSocketHandle释放引起的,具体原因是:在IOCP中,每个S
2013-06-07 22:23:12 11361 2
原创 DELPHI高性能大容量SOCKET并发(八):断点续传
断点续传断点续传主要是用在上传或下载文件,一般做法是开始上传的时候,服务器返回上次已经上传的大小,如果上传完成,则返回-1;下载开始的时候,由客户端上报本地已经下载大小,服务器根据位置信息下发数据,因此上传下载协议都需要带Size大小,例如我们协议格式。上传开始:客户端->服务器{[Request]Command=UploadDir=Dir
2013-06-06 23:38:55 5568
原创 DELPHI高性能大容量SOCKET并发(七):通讯协议
协议种类开发Socket程序有两种协议类型,一种是用文本描述的,类似HTTP协议,定义字符集,好处是兼容性和调试方便,缺点是解析文本会损耗一些性能;一种是用Code加结构体,定义字节顺序,好处是性能高,缺点是兼容性和调试不方便。这个可以根据应用场景灵活选择,如果您的应用相对稳定,需求变化少,性能要求高,则可以使用Code加结构体的方式。如果您的应用需要不停的扩充功能,但是对性能要求不苛刻,
2013-06-06 23:15:03 6515 1
C#高性能大容量SOCKET并发完成端口例子(有C#客户端)完整实例源码
2014-06-08
C#高性能大容量SOCKET并发完成端口例子
2014-01-22
Windows高性能并发IOCP之DELPHI实现
2013-06-10
Windows高性能大并发IOCP
2012-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人