使用ServerSocket傳輸資料的遺失問題 |
尚未結案
|
阿洪
一般會員 發表:7 回覆:7 積分:2 註冊:2003-01-06 發送簡訊給我 |
|
阿洪
一般會員 發表:7 回覆:7 積分:2 註冊:2003-01-06 發送簡訊給我 |
|
boring11
一般會員 發表:10 回覆:7 積分:3 註冊:2003-04-04 發送簡訊給我 |
|
阿洪
一般會員 發表:7 回覆:7 積分:2 註冊:2003-01-06 發送簡訊給我 |
引言: 可以把你傳輸資料的檔案借我看ㄇ............ 我目前也在學習有關這方面的東西............我試著將原理敘述一下你可以試試看... 利用ServerSocket傳資料給ClientSocket時,我們要先知道Server這次要傳多少Byte給Client....等ClientSocket收到資料後使用(Socket.ReceiveLength)判斷是不是與Server要傳的Byte數吻合,如果是表示資料沒問題不是要進行解封包的動作....附帶一提使用TCP/IP傳輸資料原則上是不會有Lost的情況發生,Server只會將數筆資料打包成一大包傳給Client,所以這個時候就要處理解封包的步驟,解封包的方法很簡單既然已經知道Server一次要傳的資料是多少了,只要將接到的大封包的Byte去除Server一次要傳的資料Byte就是每次封包的內容了.. 1.正常狀態 Server傳(10Byte) 給 client收到(10Byte) 正確 2.不正常狀態 Server傳(10Byte)(因某種原因Server將資料打包成50Byte) 給 client收到(50Byte)並進行解封包動作,因已知每次封包為10Byte所以將50/10=5所以Client一次收到Server五筆資料.... 不知道看不看的董.... |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |