微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在主从配置中建立连接?

如何解决如何在主从配置中建立连接?

我想在做一些数值工作的主机和许多从机之间建立连接。双方都应该发送和接收命令和数据。我的问题是-在一个主服务器中使用一个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 举报,一经查实,本站将立刻删除。