info fileinfo;
我就用WriteFile(hPort,&fileinfo,sizeof(fileinfo),&transfer,NULL) ;
另一方就是用ReadFile()來收,
然後將fileinfo.Buffer寫入檔案中,可是就是會lose資料,
因為我傳一個文字檔,傳完後,打開接收的檔案看內容,就看到最後一、二行的字都lose了。
但是如果我的struct是
typedef struct{
char ch ;//改為1Byte
int length ;
}info;
這樣的話,就可以正確的接收到完整的檔案,請問是怎麼回事呢?雖然這樣可以動作,可是在讀取檔案內容時會變得很慢,因為一次只讀1byte。
謝謝。
--
[m [1;34m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.30.169.249] [m
你可以將檔岸切割成數個區段,一次只傳一個區段,在接收的一方先知道區段的大小
如果接收的一方在時間內沒有收到預期區段的大小就叫送的一方重送,不然就送下一
個區段;這個方式有個要點:送和收之間要建立溝通的機制。
--
[1;37;44m [0;37;44m▕ [0;37;40m
[1;37;44m 行到水窮處, [0;37;44m▕ [0;37;40m
[1;37;44m 坐看雲起時。 [0;37;44m▕ [0;37;40m
[1;37;44m [0;37;44m▕ [0;37;40m
[0;33m▔▔▔▔▔▔▔▔▔▔▔ [1;37;40m
--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mvico [0m]From: h2-210-68-64.seed.net.tw