全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2557
推到 Plurk!
推到 Facebook!

請問Socket.ReceiveBuf該如何使用

尚未結案
KKmin
一般會員


發表:1
回覆:2
積分:0
註冊:2004-07-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-21 17:10:31 IP:220.130.xxx.xxx 未訂閱
各位前輩你們好 請問一下…若server端傳送的是byte的資料 那我應該是利用receivebuf來收資料 我的程式如下
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
 data:array of byte;
 I,j:integer;
begin
 i:=ClientSocket1.Socket.ReceiveLength;
 SetLength(data,i 1);
 Socket.ReceiveBuf(data,i);
 for j:=1 to i do
  memo1.lines.add(inttostr(data[j]));,--->每次都出錯在這行
end;
我有去參考過其他的文章 大部份都是針對傳送檔案的方式寫的 也有c 類似的問題 我將c 的寫法改為delphi的方式 但是一樣不行 請問是那裡錯誤的觀念 麻煩幫忙一下…謝謝
KKmin
一般會員


發表:1
回覆:2
積分:0
註冊:2004-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-21 17:43:30 IP:220.130.xxx.xxx 未訂閱
SORRY~~我找到問題所在 原來是陣列需預設大小 那請問一下 若是無法確定傳送的資料大小時該怎做 謝謝
hagar
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-22 08:48:40 IP:202.39.xxx.xxx 未訂閱
引言:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
 data:array of byte;
 I,j:integer;
begin
 i:=ClientSocket1.Socket.ReceiveLength;
 SetLength(data,i 1);
 Socket.ReceiveBuf(data,i);
 for j:=1 to i do
  memo1.lines.add(inttostr(data[j]));,--->每次都出錯在這行
end;
for j:=1 to i do 這行改成 for j := 0 to i - 1 do 試試 -- 向 KTop 的弟兄們致敬! 發表人 - hagar 於 2004/07/22 08:49:45
KKmin
一般會員


發表:1
回覆:2
積分:0
註冊:2004-07-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-22 09:26:53 IP:220.130.xxx.xxx 未訂閱
謝謝hagar大大的幫忙 這招試過…不行 昨天我的解決方式是
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
 data:byte;--->設為單一變數
 I,j:integer;
begin
 Socket.ReceiveBuf(data,1);--->每次讀取一筆資料       
 memo1.lines.add(inttostr(data));
end;
這樣就可以了 謝謝hagar大大
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-26 13:51:38 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-18 11:54:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!