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

Indy的TIdTCPServer/Client 之间传输TMemoryStream失败???

尚未結案
jbmaster
一般會員


發表:3
回覆:5
積分:1
註冊:2005-08-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-03 17:26:24 IP:222.66.xxx.xxx 未訂閱
Delphi 7 + Indy 10.0.52

Server端的代码
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPServer.Active := True;
end;
procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
var
Stream: TIdStreamVCL;
aStream: TMemoryStream;
begin
if AContext.Connection.IOHandler.ReadLn = 'str' then
AContext.Connection.IOHandler.WriteLn('this is string');
if AContext.Connection.IOHandler.ReadLn = 'stream' then
begin
aStream := TMemoryStream.Create;
Stream := TIdStreamVCL.Create(aStream);
AContext.Connection.IOHandler.Write(Stream);
Stream.Free;
aStream.Free;
end;
end;

Client端代码
procedure TForm1.Button1Click(Sender: TObject);
var
Stream: TIdStreamVCL;
aStream: TMemoryStream;
begin
IdTCPClient.Host := '127.0.0.1';
IdTCPClient.Port := 1911;
IdTCPClient.Connect;
IdTCPClient.IOHandler.WriteLn('str');
Caption := IdTCPClient.IOHandler.Readln;
IdTCPClient.IOHandler.WriteLn('stream');
aStream := TMemoryStream.Create;
Stream := TIdStreamVCL.Create(aStream);
IdTCPClient.IOHandler.ReadStream(Stream);
Stream.Free;
aStream.Free;
IdTCPClient.Disconnect;
end;


通过string类型可以相互传输,TMemoryStream类型无法传输.请问是什么问题???
详细代码请看附件.
------
要学的东西太多~
附加檔案:490ec3c0b3668_WS.rar
系統時間:2024-04-23 22:15:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!