• TSunTCPServer

    作者博客`http://mr_anderson.blog.tom.com //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ //SunTCPServer 1.1 2007-02-03 //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ 强大的TCPServer控件For Kylix3~. 在1.0的基础上,增加了线程调节。在TCP服务启动前,程序员可以根据服务器的应用范围设置合理的线程数。(TSunTCPServer.ReadThdCount)TCP客户端会平均分布到这N个线程里,大大提高读取效率。建议:1个线程最多负责500个客户端,也就是如果你希望SunTCPServer支持5000个并发连接,那么ReadThdCount就设置成10. Echo Demo里面有SunTCPServer的完整用法,该控件使用非常简单,所以没有写使用文档的打算。如果使用上有任何问题,欢迎发送E-mail到 [email protected] //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ //SunTCPServer 1.0 //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ 强大的TCPServer控件For Kylix3~. 原来一直用Indy做TCP方面的开发,其实在Windows下就发现了其不稳定,而且作为服务器来说性能远远跟不上需求。后来从事Linux下面的开发,Indy更让人无法忍受,当服务器端主动断开客户端时,INDY居然不会释放相关线程资源。所以当时程序跑一周左右就得重起,这对于程序员来说简直是个噩梦。 后来下定决心自己写一个TCP服务器,目标是使用无堵塞方式同时接受1万个并发连接。SunTCPServer 1.0激活时同时启动两线程,一线程负责客户端接入,并加载到客户端列表。一线程负责轮询客户端列表,读取数据和检测客户端状态。 在该模式下,用SunTCPServer写的Echo服务器性能比indy和TCPServer高出很多倍。但连接数到3000以后性能明显下降,该问题将在下一版本得到解决。 修改LINUX连接数限制方法如下: /etc/security/limits.conf加入下列行 * soft nofile 65536 * hard nofile 65536 现在,你的服务器可以支持65536个连接了!

    0
    130
    97KB
    2007-02-03
    0
码龄23年
已实名
  • 创作能手

    授予每个自然周发布1篇到3篇原创IT博文的用户
关注 私信
上传资源赚积分or赚钱