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

掉封包

答題得分者是:RaynorPao
Evo
一般會員


發表:6
回覆:9
積分:3
註冊:2003-11-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-06 18:54:25 IP:218.162.xxx.xxx 未訂閱
各位好: 以下是前輩所提供的傳送檔案的程式 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25913 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25912 如果我今天從server傳100個大小都在100K以內的檔案到client端,client卻沒辦法將這100個檔案收齊,請問這是不是在傳送的過程中封包掉了?? 有什麼辦法可以解決嗎?? 謝謝各位。
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-06 19:05:28 IP:61.221.xxx.xxx 未訂閱
引言: 各位好: 以下是前輩所提供的傳送檔案的程式 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25913 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25912 如果我今天從server傳100個大小都在100K以內的檔案到client端,client卻沒辦法將這100個檔案收齊,請問這是不是在傳送的過程中封包掉了?? 有什麼辦法可以解決嗎?? 謝謝各位。
Evo 你好:
(1)會掉封包是正常的,因為 TSocketSocket/TClientSocket 並沒有幫你做很多
   的事情,所以,如果你還是要用這兩個元件的話,就必須自己重新設計傳送
   的封包 (資料結構),可以用來檢查是否掉封包的資料結構,如果接收端發現
   掉封包的話,再通知傳送端再重新傳送一次,直到接收端搜集到所有的封包
   之後,再組合成未被傳送之前的樣子
(2)或者利用 TIdTCPServer/TIdTCPClient 這兩個元件來做,這會是一個比較好
   的選擇,因為有關切割封包的部分,都已經幫你做掉了
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36068
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
Evo
一般會員


發表:6
回覆:9
積分:3
註冊:2003-11-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-08 00:00:49 IP:218.162.xxx.xxx 未訂閱
RaynorPao大哥,真是謝謝您,我在這有找到您提供的一些Indy的相關範例,不過我還是有一些問題,想請教您: 1.您給的範例好像是由client向server下達"SendMeFile"的要求,如果要將server端程式改成以下的方式可以嗎?我在測試的時候常出現"Can't open file"的錯誤訊息 void __fastcall TForm1::Button1Click(TObject *Sender) {    TIdPeerThread *AThread;    this->IdTCPServer1Execute(AThread); }    void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread) {     TFileStream *fs=new TFileStream("24bit.bmp",fmOpenRead);     try     {        AThread->Connection->WriteStream(fs, true, true, 0);     }     __finally     {        delete fs;     } } 2.如果改成由server端傳送檔案給client,也就是client是處於被動的狀態,那麼client接收檔案的程式應該寫在哪一個事件下呢?? 3.如果要有多個client,那麼在程式方面,我應該從哪裡著手呢??    以上的問題,請RaynorPao大哥或對這方面很了解的前輩,麻煩各位幫忙了… 謝謝     發表人 - evo 於 2004/04/08 00:02:32 發表人 - evo 於 2004/04/08 00:03:39
系統時間:2024-05-14 1:11:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!