用clientsocket 和serversocket 发送和接受流怎么样搞呢?
谢谢!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    我用的indy ,同理,自己写的方法,你可以对照着来
    //接收
    function IdreadEx(conn: TidTCPConnection;
      var s: string): boolean;
    var
      outStream:TstringStream;
      iSize:integer;
    begin
       result:=true;
       with conn do
       begin
       try
         iSize:=readInteger();
         outStream:=TStringStream.Create('');
         readStream(outStream,iSize,false);
         outStream.Seek(0,0);
         s:=outStream.ReadString(iSize);
         outStream.Free;
       except
         s:='';
         result:=false;
       end;
       end;
    end;
    //发送
    function IdWriteEx(conn: TidTCPConnection;
      s: string): boolean;
    var
      inputStream:TstringStream;
    begin
       result:=true;
       with conn do
       begin
       try
         inputStream:=TStringStream.Create(s);
         OpenWriteBuffer;
         WriteStream(InputStream,true,true);   //发送数据的同时,发送数据长度。
         CloseWriteBuffer;
         inputStream.Free;
       except
         result:=false;
       end;
       end;
    end;