问题描述
我想在做一些数值工作的主机和许多从机之间建立连接。双方都应该发送和接收命令和数据。我的问题是-在一个主服务器中使用一个idCmdTcpserver并在每个从属服务器中使用一个idCmdTCPClient是否足够?或者这需要在主服务器和每个从属服务器中使用一对Cmdserver和CmdClient? 这是我第一个使用Indy(v。10)和远程应用程序之间进行TCP通信的应用程序。在从属端使用idCmdTCPCLient时,我看到了一些问题-看起来在接收对主控器中发送给idCmdTcpserever的命令的答复时遇到了麻烦。当我将idCmdTCPClient替换为idTCPClient时,它将正常接收答复。
procedure TFSlave.btn_HeartbeatClick(Sender: TObject);
const
Cmd = 'HEARTBEAT';
var
Reply: TIdReply;
begin
display('Slave','sending command: "' + Cmd + '"');
IdTCPClient.SendCmd(Cmd,200);
Reply := IdTCPClient.LastCmdResult;
display('btn_Click','Master replied with: ');
display('btn_Click','"' + Reply.Code + ' ' + Reply.Text.Text + '"');
end;
其中display()将文本行发送给TMemo事物。
当idTCPCLient为TIdTCPCLient类型时,上述方法起作用,但当其为TIdCmdTCPClient时,则卡住。
所以我的问题是:应该使用哪些Indy-10组件来修复通信? 感谢您对问题的建议或解释。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)