在决议评论 for bug report 12266 (“socket连接上的错误导致资源泄漏”)中,Robert写道
TClientSocket被否决了。本报告开放,以便提出建议的解决办法。
在以后的版本中,默认情况下,TClientSocket和TServerSocket还没有安装在工具面板中,但是安装指令是提供。
自那以后,这种状态是否发生了变化,因此TClientSocket (和TServerSocket也是)现在又是Delphi中的头等舱成员了?我希望在某些项目中使用TClientSocket (作为Indy和Synapse之后的另一个TCP/IP库),并且无法在Embarcadero DocWiki中找到正式的状态信息。
(正式的“不推荐”类/方法索引将是有用的)。
发布于 2010-12-28 14:25:05
要具体回答你的问题:
是的,TClientSocket和TServerSocket仍然不受欢迎,我无法想象这种情况会改变。
发布于 2010-12-28 10:00:01
TClientSocket和TServerSocket使用基于Windows的无效设计。该方案是在Windows 3.11中引入的(或者它是否发生在3.1?),当时没有真正的多任务处理,多线程套接字处理也是不可能的。由于组件市场上出现了功能更强大、性能更好的解决方案(即Indy,然后是其他库),所以出现了反对意见。尽管这些组件仍在发货,但让旧技术重新焕发生机是没有意义的。此外,我建议Embarcadero包括一些基于IOCP的服务器套接字实现,但是,我想服务器套接字现在并不是Embarcadero感兴趣的范围。
https://stackoverflow.com/questions/4544838
复制相似问题