【发布时间】:2016-12-19 10:07:42
【问题描述】:
我正在使用 Indy 10 在 Delphi 7 中制作客户端程序。
它必须使用 TIdTCPClient 连接到服务器并保持连接以发送和获取命令和回复,直到程序关闭。
服务器只能为每个客户端维持一个恒定连接来发送信息消息。 TIdTCPClient 正在通过读取线程进行侦听。
问题:
例如,我正在从某个过程向服务器发送请求(使用 WriteLn)以获取字符串列表。我怎样才能在相同的过程中得到该请求的答案(回复)而不离开它?就像使用 TIdHTTP。
我看到了 2 个解决方案:
从一个过程发出请求并在另一个过程中处理它 - 代码和逻辑会更复杂。
对于过程中的每个请求,创建一个新的 TIdTCPClient(Connect、WriteLn、ReadLn、Disconnect、Free)并处理请求。但我不喜欢这种解决方案,因为它会导致大量开销。
【问题讨论】:
标签: delphi client-server delphi-7 indy indy10