谁能解释一下他们之间的区别吗?他们是一样的,工作的方式相同吗?哪一个比其他组件更好?
发布于 2014-09-25 22:36:17
他们不一样,他们的工作方式也不一样。它们在套接字API交互、事件处理、错误处理等方面采取了非常不同的方法。
TClientSocket和TServerSocket是最初的基于VCL的(特定于Windows的)套接字组件.它们在Delphi 7中被废弃,在默认情况下不再安装,但是如果您想使用它们,仍然可以手动安装。
TTcpClient和TTcpServer最初是在Delphi6中作为Kylix (一种死产品)的跨平台套接字解决方案而引入的。他们被从德尔菲的XE6中删除,降级到演示状态,甚至不再是官方组件。
在我看来,TTcpClient和TTcpServer是可怕的组件,您应该远离它们。他们使用极简主义的“最不常见的妖魔化者”方法来进行跨平台编程,只满足多个平台所支持的几个基本功能,而不是利用任何特定于平台的特性或更高级别的功能。他们有一个非常基本的界面,这是糟糕的设计。它们很难使用,错误处理能力很差,使用起来也不太灵活。
如果您需要编写新的套接字代码,如果您只对支持Windows感兴趣,那么TClientSocket和TServerSocket工作得很好,但是如果您需要支持跨平台,那么您应该使用第三方套接字库,例如印第 (TIdTCPClient/TIdTCPServer)、科技中心 (TWSocket/TWSocketServer)、突触 (< code >D15)等等。
https://stackoverflow.com/questions/26045985
复制相似问题