个人想法:  也许你的说法需要更正一下,传递数组?好像没这么一说法!  要是你想传输数据的话,你可以采取自己的协议(Protocol)!!  例如:你在Server端把需传递的数据按某种格式存放到一String变量中或Stream中,然后Send到Client端!在Client端也按照同样的格式读取!当然,你在Send之前可以压缩,这样可以加快传输速度!![注]:对于作出的回复不作正确性保证
Copyright(C) 2002 CoolSlob :-)

解决方案 »

  1.   

    在delphi的安装目录下有一个“chat”的例子,你可以参照这个例子来做。
    我以前也做过这样的程序,只可惜现在没办法给你。过两天我给你发一份,你的
    email是什么?
      

  2.   

    TO: quejian(左巴) 
    你的方法不错,但是我觉得不太安全了。。TO:CoolSlob() 
    我现在用的就是这个方法,但是好像每次传送的数据有限制的,如果我想传送大数据怎么吧?? 如果是分包发送,到了另一端要如何合并?TO:mkany(马可) 
    我看过那个例子,也照着上面的写了,不过只是发送一条字符串,我想发送一批的字符串,而是有几个客户端同时发送。所以那个“chat”程序不能满足
    我的要求,你有别的程序吗? 我的MAIL是 [email protected]
      

  3.   

    我也要,我的MAIL是[email protected]
      

  4.   

    我在做这样的程序时也遇到了不能发送大量的数据的问题,我的解决方法是分包发送。
    具体方法是:
        1、每次发送的数据限制在一定的大小范围内例如1K(如果数据大于1K);
        2、如果小于1K,加上结束标志符后发送这些数据;
        3、在接受端,看到结束标志符后合并数据即可。
      

  5.   

    马可,你自己还写了个协议? 这不是由TCP来做的吗?
      

  6.   

    用UDP协议同样可以实现你所要求的功能(NMUDP控件)
    //*****************************************************************
    Procedure TDataModule1.SendUDP(IP:String;Port:Integer;Data:String);
    var
      i:integer;
      BufOfSend:array[1..1024] of char;
    begin
      for i:=1 to length(Data) do begin
        BufOfSend[i]:=Data[i];
      end;
      NMUDP1.RemoteHost:=IP;
      NMUDP1.RemotePort:=port;
      NMUDP1.SendBuffer(BufOfSend,length(Data));
    end;
      

  7.   

    没试过,现在主要是用来传几个变量或数组. 给多个用户同时发送很简单,用个FOR就行了. 网上的例子和DELPHI自带的例子差不多.所以还是要经常来问问不同的问题.