Конференция "Сети" » отправка принятых данных =)) (TClientSocket & TServerSocket)
 
  • ZzZzZzZ (25.11.07 05:22) [0]
    procedure RecivedPacket(Socket: TCustomWinSocket);
    var
     iLen: Integer;
     Bfr: Pointer;
     a: integer;
     tmp: PChar;
    begin
     iLen := Socket.ReceiveLength - 1;
     if (iLen > 0) then
     begin
       GetMem(Bfr, iLen);
       Socket.ReceiveBuf(Bfr^, iLen);
       packet := Bfr;

       for a := 0 to iLen do//Length(packet) do
           Form1.Memo2.Text := Form1.Memo2.Text + IntToHex(packet[a], 2) + ' ';

       Form1.ToServer.Socket.SendBuf(Bfr, iLen+1);
       FreeMem(Bfr);
     end;
    end;


    Собственно вот процедура TClientSocket

    procedure TForm1.ToClientClientRead(Sender: TObject;
     Socket: TCustomWinSocket);
    begin
    RecivedPacket(Socket);
    end;


    Вопрос: Посылаются не те данные, что пришли. В чем я не прав?
  • Сергей М. © (25.11.07 12:58) [1]

    > В чем я не прав?

    Нет разымкнования параметра Bfr.

    И вообще - код в топку.
  • Slym © (26.11.07 04:33) [2]
    procedure TForm1.ToClientClientRead(Sender: TObject;
     Socket: TCustomWinSocket);
    var
     Str,StrHex:string;
     i:integer;
    begin
     Str:=Socket.ReceiveText;
     StrHex:='';
     for i:=0 to Length(Str) do
       StrHex:=StrHex+IntToHex(byte(Str[i]), 2)+' ';
     Form1.Memo2.Text:=StrHex;
    end;
  • Slym © (26.11.07 04:33) [3]
    Slym ©   (26.11.07 4:33) [2]
    for i:=0 to Length(Str) do

    for i:=1 to Length(Str) do
 
Конференция "Сети" » отправка принятых данных =)) (TClientSocket & TServerSocket)
Есть новые Нет новых   [134431   +10][b:0][p:0.001]