用TCP/IP做文件續傳 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
此為轉貼資料
http://www.programfan.com/showarticle.asp?id=1398 用TCP/IP做文件續傳 利用 TWinSocketStream 可以做到.
TServerWinSocket serverSocket;
TClientWinSocket clientSocket
TFileStream inFile, outFile;
// 假設各 Stream 都己 created // 在 Server 端
// Client send 一個命令告知 Server 要由 536 bytes 開始傳
inFile.Position := 536;
wtih TWinSocketStream.Create(serverSocket, 60000) do
begin
CopyFrom(inFile, inFile.Size - inFile.Position 1);
Free;
end; // 在 Client 端 OnReadEvent 中
memStream = TMemoryStream.Create;
memStream.Size = TOTAL_FILE_SIZE;
memStream.Position := 0;
socketStream := TWinSocketStream.Create(clientSocket, 60000) do
if socketStream.WaitForData(60000) then // give the client 60 seconds writing
socketStream.Read(PCharArray(memStream.Memory)^, TOTAL_FILE_SIZE)
memStream.Position := 0;
outFile.Position := 536;
outFile.CopyFrom(memStream);
// 釋放全部的物件 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |