delphi – TTcpClient / TTcpServer和TClientSocket / TServerSo
有人可以解释他们的分歧吗?它们是否相同且工作方式相同?哪一个比其他组件好?
解决方法
它们不一样,并且它们的工作方式不同.它们采用非常不同的方法来处理套接字API交互,事件处理,错误处理等.
TClientSocket和TServerSocket是原始的基于VCL(特定于Windows)的套接字组件.它们在Delphi 7中已弃用,默认情况下不再安装,但如果您想使用它们,仍可用于手动安装. TTcpClient和TTcpServer最初是作为Kylix(这是一个死产品)的跨平台套接字解决方案在Delphi 6中引入的.它们在XE6中从Delphi中删除,降级为演示状态,甚至不再是官方组件. 在我看来,TTcpClient和TTcpServer是可怕的组件,你应该远离它们.他们使用极简主义的“最不常见的Demoninator”方法进行跨平台编程,仅适用于多个平台支持的一些基本功能,而不是利用任何特定于平台的功能甚至更高级别的功能.它们有一个设计糟糕的非常基本的界面.它们非常难以使用,具有错误的错误处理,并且使用起来不是很灵活. 如果您需要编写新的套接字代码,如果您只对支持Windows感兴趣,TClientSocket和TServerSocket工作得很好,但如果您需要支持跨平台,那么您应该使用第三方套接字库,例如Indy(TIdTCPClient / TIdTCPServer) ),ICS(TWSocket / TWSocketServer),Synapse(TTCPBlockSocket)等 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |