我最近在做一个c/s模型的软件,用到了delphi7中的TTcpClient和TTcpServer两个组件。
软件中,我用sendln的办法发送数据到server端显示,可是这样我又不能发送特定的命令,让server端去执行预先定义好的过程。我不知道该怎么办,怎么样才能区分要显示的数据和要执行的命令呢?
我到网上搜了,可演示的代码要么是发送命令执行预先定义好的过程,要么是简单的聊天软件只发送数据用来显示,没因此也没有我想找到的答案。
请大家给些思路提示或相关知识的网页连接就行!谢谢!!!

解决方案 »

  1.   

    定義命令結構,  通過 send 去發送
     
    type
      TCMd = Record
        ID : integer;
        cmd : array[0..254] of char;
      end;
      cmd = ^TCMD;ID 表示命令號,CMD執行內容。
      

  2.   

    我开始学习Delphi不久。
    是不是用ID号来确定是显示数据还是执行命令,用CMD中的内容表示显示数据或执行命令啊?
      

  3.   

    不论是普通聊天还是执行指定命令,都加个Header
      

  4.   


    你照他说的定义一个结构如TCMd,把里面的内容改成你需要的数据,然后申明变量,赋值,再IdTCPClient1.WriteBuffer(变量,大小, ture);
    你搜下Indy9Demos,好象CSDN就有下载的,里面有INDY的所有控件示例
    第一次用的话我建议你用UDP,UDP的代码简单,很容易就知道该怎么搞了
    反正我第一次开发C/S程序用的是UDP,用UDP发东西发多了就对这些更了解了
      

  5.   

    我把记录体以stream的形式发送(不对?),但我在TTcpServer端找不到接收stream的方法!
    大家可以再些建议吗?