TIdCmdTCPServer和TIdCmdTCPClient应该一起使用吗?

时间:2010-01-13 22:24:58

标签: delphi indy

我正在尝试编写服务器和一组与服务器通信的客户端。服务器将维护不同客户端的状态,并允许它们在状态发生变化时向中央服务器发出警报。专业客户将允许控制其他连接的客户。

我将服务器作为TIdCmdTCPServer,客户端(目前)使用TIdTCPClient进行连接。

如果客户端正在发送和接收命令,他们应该使用TIdCmdTCPClient吗?我已经读过CmdTCPServer和CmdTCPClient并没有真正一起使用 - 它们是不是必须一起使用?

对这个问题的一般模糊性表示道歉,但我只是刚刚开始关注这个问题,并且在我陷入细节之前需要先解决问题。

感谢您的帮助

Mark H

3 个答案:

答案 0 :(得分:4)

技术上可以一起使用TIdCmdTCPClient和TIdCmdTCPServer,但一般情况下不建议这样做。这些组件设计用于异步处理入站命令。让客户端等待服务器命令,但让服务器同时等待客户端命令是没有意义的。这是一种使连接死锁的好方法,因为它们都在等待彼此的数据,而且实际上没有输入任何没有输入的东西。

答案 1 :(得分:2)

也许,您可以从测试demos

开始

答案 2 :(得分:1)

TIdTCPServer在Android上没有收到任何东西(Bug),android只能将数据从i tidtcpclient发送到Windows TidTCPServer而不是反向。