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

如何使用TClientSocket 和 TServerSocket傳送檔案?

缺席
pchw8598
一般會員


發表:43
回覆:63
積分:21
註冊:2003-11-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-07-06 16:29:00 IP:112.104.xxx.xxx 訂閱
請問各位先進,使用TServerSocket和TClientSocket元件時如何傳送一個"完整的檔案呢"? 不是像使用 ReceiveText()這樣的方式傳送或接收短訊息
.謝謝大家.
leveon
資深會員


發表:29
回覆:386
積分:303
註冊:2012-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-07-06 17:03:23 IP:118.165.xxx.xxx 訂閱
既然你都會傳String 了 那只要把檔案變字串 收到後 再把字串變檔案即可
傳的時候 最好是先編碼一下

請參閱
http://topic.csdn.net/u/20111104/19/98f77a2e-114c-4c67-9ae8-288580b9eb05.html?95121

===================引 用 pchw8598 文 章===================
請問各位先進,使用TServerSocket和TClientSocket元件時如何傳送一個"完整的檔案呢"?不是像使用 ReceiveText()這樣的方式傳送或接收短訊息
.謝謝大家.
pchw8598
一般會員


發表:43
回覆:63
積分:21
註冊:2003-11-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-07-07 10:34:00 IP:112.104.xxx.xxx 訂閱
謝謝回覆
但我的考慮點是:一個檔案若是蠻大的例如超過5M,然後我們自己還要去把這個檔案切成n塊,然後變成字串送過去到那邊再組起來....

這樣, 是不是最好的方法呢? 如果我想的沒有錯我們還要會自己把檔案給切成n塊,然後還要會組起來.....orz
leveon
資深會員


發表:29
回覆:386
積分:303
註冊:2012-02-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-07-08 14:35:35 IP:111.240.xxx.xxx 訂閱
你能做到的話 當然是比較好囉
===================引 用 pchw8598 文 章===================
謝謝回覆
但我的考慮點是:一個檔案若是蠻大的例如超過5M,然後我們自己還要去把這個檔案切成n塊,然後變成字串送過去到那邊再組起來....

這樣, 是不是最好的方法呢? 如果我想的沒有錯我們還要會自己把檔案給切成n塊,然後還要會組起來.....orz
jcjroc
高階會員


發表:21
回覆:276
積分:114
註冊:2002-09-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-07-22 01:04:13 IP:60.248.xxx.xxx 訂閱
先說說TClientSocket&TServerSocket這組雞肋Component
由於原生是nonblocking所以針對短時間內密集傳輸會有問題(詳細狀況可去問Google大神)
如果還是要用,建議除每次傳輸不要大於4K(如果我沒記錯預設值的話),還有遵循標準通訊模式(就是要有Handshake啦)(最簡單的就是ASCII)

PS.忘了還有個白癡方法,每次區塊傳輸後就Delay一段時間.(不過不能讓你老闆知道你這樣幹)

===================引 用 pchw8598 文 章===================
請問各位先進,使用TServerSocket和TClientSocket元件時如何傳送一個"完整的檔案呢"? 不是像使用 ReceiveText()這樣的方式傳送或接收短訊息
.謝謝大家.
系統時間:2017-10-24 8:34:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!