線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1270
推到 Plurk!
推到 Facebook!

TServerSocket組件如何接收二進位資料?

答題得分者是:hagar
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 17:39:38 IP:222.248.xxx.xxx 未訂閱
TServerSocket組件如何接收二進位資料? 用戶端發來32位元組16進制資料,我如何在TserverSocket的OnClientRead事件中讀取?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 09:41:33 IP:202.39.xxx.xxx 未訂閱
參考這篇看看: http://www.swissdelphicenter.ch/en/showcode.php?id=1072
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  iLen: Integer;
  Bfr: Pointer;
begin
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    FStream.Write(Bfr^, iLen);
  finally
    FreeMem(Bfr);
  end;
end;
-- hagar.
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 12:18:13 IP:222.248.xxx.xxx 未訂閱
引言: 參考這篇看看: http://www.swissdelphicenter.ch/en/showcode.php?id=1072
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  iLen: Integer;
  Bfr: Pointer;
begin
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    FStream.Write(Bfr^, iLen);
  finally
    FreeMem(Bfr);
  end;
end;
-- hagar.
上面的代碼是把接收到的二進位檔資料以TFileStream保存到硬碟,而我接收的二進位資料並不是檔,而是32個位元組長度的資料,我希望把這些資料以16進制的形式在介面上顯示出來,請教怎麼做呢?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-25 19:42:31 IP:202.39.xxx.xxx 未訂閱
試試看這樣子行不行:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  iLen: Integer;
  Bfr: Pointer;
  s, sTmp: string;
  i: integer;
begin
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    s := StrPas(Bfr);
  finally
    FreeMem(Bfr);
  end;      sTmp := '';
  for i := 1 to Length(s) do
    sTmp := sTmp   Format('%X', [Ord(s[i])])   ' ';      Memo1.Lines.Add(sTmp);
end;
-- hagar.
系統時間:2024-05-14 19:40:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!