欢迎大家各抒己见,TClientSocket/TServerSocket和Indy哪一个更好?(200分)

  • 主题发起人 主题发起人 xywen
  • 开始时间 开始时间
X

xywen

Unregistered / Unconfirmed
GUEST, unregistred user!
当需要应对数十万个连接时,同样硬件环境下,
使用TClientSocket/TServerSocket(非阻塞方式)连接与
Indy中的IdTCPClient/IdTCPServer连接(阻塞方式)+ IdAntiFreeze组件
哪一种更好,更稳定,更可靠?

欢迎大家就自己的应用中的经验各抒己见。来者有分!
 
象“联众”那样的网络游戏是使用“阻塞方式”还是“非阻塞方式”的?
它通过什么方式或什么机制应对那么多人同时在线的?
 
TClientSocket/TServerSocket比较基础,容易自己控制。
IdTCPClient/IdTCPServer封装的东西比较多,适合偷懒,但是不好控制。
追求稳定可靠当然是TClientSocket/TServerSocket了,前提就是你自己的技术要过关
 
TClientSocket/TServerSocket可以同时应对数十万个连接吗?
 
TClientSocket/TServerSocket看起来基础,不过想用好比TIndy难多了,呵呵
尤其是他的非组塞方式,是才学TCP的程序员的地狱。。。
而组塞是很适合才入门的程序员使用的,所以我认为了写Indy的是给菜鸟用的
而TClientSocket/TServerSocket的才是高手,哈
 
TClientSocket/TServerSocket可以同时应对数十万个连接吗?
 
当然不行,Indy用组塞方式就更不行了,这个要自己用API写,用重叠I/O或者完成端口
才能并发的处理上万个连接
 
象“联众”那样的网络游戏是使用“阻塞方式”还是“非阻塞方式”的?
它通过什么方式或什么机制应对那么多人同时在线的?
 
他好象一个服务器也就是几百人,估计是组塞式,这样容易处理逻辑,
 
“传奇”或者“奇迹”之类的网络游戏是怎么同时面对那么多连接的?
 
看他们的服务器是在什么操作系统下运行的,如果是WINDOWS那就是完成端口类
如果是LINUX一般是多线程或者多进程,用select poll什么的
 
我提出这个问题的本意是这样的:
租用一个固定IP地址,并利用这个地址提供一种P2P服务(Windows 2000 Server环境)。
客户端可能是家中的利用Modem上网的用户,也可能是ADSL或其它什么宽带方式上网的
用户,但最重要的是网吧中的用户。

请问TClientSocket/TServerSocket和Indy系统组件哪一个更适合该项目?
望高手不吝赐教!!!
 
都不适合做大的项目,大的项目最好是自己用API开发,从地层做起,小的项目或者是
自己做着玩可以用这些控件
 
接受答案了.
 
后退
顶部