我最近接到了在Delphi XE6中编写应用程序的任务,该应用程序与我们的遗留系统(Delphi 2007)进行通信。旧系统使用TWSocket在套接字级别上使用其OnDataAvailable事件来驱动通信。 TClientSocket和TServerSocket也被使用,因为这些已被弃用,我宁愿使用现代组件来取代它们。 是否可以使用Delphi XE6中提供的组件(即TIdTCPClient,TIdTCPServer)? 你能指出一个这样做的例子吗?
答案 0 :(得分:0)
Indy肯定可以用来代替这些旧的/已弃用的套接字库。
OnDataAvailable是一个异步的非阻塞事件处理程序,它需要与使用阻塞TCP通信的Indy不同的编程风格。
根据您的特定代码,Indy组件应该在一个单独的线程中使用,以独立于应用程序主线程运行。