日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
解決C#Socket發(fā)送數(shù)據(jù)大小問題

TCP/IP是可靠性傳輸協(xié)議,它能保證數(shù)據(jù)能按順序的方式到達(dá)目的地.看到以上描述在寫TCP/IP應(yīng)用的時(shí)候似乎就可以放心了,只要程序不出意外就數(shù)據(jù)輸傳就是正確.但最近在做一個文件傳輸工作的時(shí)候確得到的結(jié)果并不是這樣,發(fā)現(xiàn)網(wǎng)絡(luò)環(huán)境和一次發(fā)送數(shù)據(jù)大會影響整個輸傳結(jié)果.以下是這兩晚的測試情況

公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出龍里免費(fèi)做網(wǎng)站回饋大家。

  測試內(nèi)容描述:

  每個文件塊信息包大概是120k左右

  采用異步5連接輸傳,雙方的Socket.SendBufferSize和Socket.ReceiveBufferSize都設(shè)置為64K

  測試服務(wù)器分別有:

  局域網(wǎng):ServerA

  在美國機(jī)房:ServerB 延時(shí)高,Ping有時(shí)會超時(shí)

  測試client一臺,通過ADSL上網(wǎng).

  以下是Client從Sever下載文件的情況:

  服務(wù)器8K SendBuffer,客戶端是8K ReceiveBuffer

  從ServerA下載文件,分別下載多個文件幾M到幾百M(fèi)不等,下載后文件正確.

  從ServerB下載文件,分別下載多個文件,幾M或更小的文件有部分正確,大文件基本都是錯誤.兩端記錄的發(fā)送的字節(jié)數(shù)和接收的字節(jié)相等,符合文件大小,程序也沒有跟蹤到數(shù)據(jù)接收異常導(dǎo)致的協(xié)議分解錯誤.

  服務(wù)器4K SendBuffer,客戶端8K ReceiveBuffer

  從ServerA下載文件,分別下載多個文件幾M到幾百M(fèi)不等,下載后文件正確.

  從ServerB下載文件,分別下載多個文件,文件的正確率比較高,不過還是大文件相對錯誤比較多.當(dāng)開啟迅雷下載后情況就開始變壞,大部分接收到的文件都出問題,兩端記錄的發(fā)送的字節(jié)數(shù)和接收的字節(jié)相等,符合文件大小,程序也沒有跟蹤到數(shù)據(jù)接收異常導(dǎo)致的協(xié)議分解錯誤

  服務(wù)器2K SendBuffer,客戶端8K ReceiveBuffer

  從ServerA下載文件,分別下載多個文件幾M到幾百M(fèi)不等,下載后文件正確.

  從ServerB下載文件,分別下載多個文件,下載結(jié)果沒有發(fā)現(xiàn)錯誤文件.當(dāng)開啟迅雷下載后還是有個別文件錯誤,兩端記錄的發(fā)送的字節(jié)數(shù)和接收的字節(jié)相等,符合文件大小,程序也沒有跟蹤到數(shù)據(jù)接收異常導(dǎo)致的協(xié)議分解錯誤

  服務(wù)器1K SendBuffer,客戶端8K ReceiveBuffer

  從ServerA下載文件,分別下載多個文件幾M到幾百M(fèi)不等,下載后文件正確.

  從ServerB下載文件,分別下載多個文件,下載結(jié)果沒有發(fā)現(xiàn)錯誤文件.當(dāng)開啟迅雷下載后沒有發(fā)現(xiàn)文件錯誤.

  測試文件發(fā)送到Server和下載的情況基本差不多,這說明了在網(wǎng)絡(luò)不好的情況處理發(fā)送大數(shù)據(jù)包似首容易產(chǎn)生錯誤,但看TCP/IP協(xié)議講解這情況似乎不存在,因?yàn)楫?dāng)一個發(fā)送數(shù)據(jù)超過某個值的時(shí)候,TCP會劃分塊進(jìn)行傳輸并保證其順序.但網(wǎng)絡(luò)不好的情況測試結(jié)果接收的數(shù)據(jù)有錯誤,但處理的數(shù)據(jù)大小是正確的,也并沒影響整個協(xié)議的分解.由于對CP/IP協(xié)議、低層和路由處理的不了解,暫沒找到具體原因。。。不排除程序存在還沒發(fā)現(xiàn)的錯誤,打算給發(fā)送的文件數(shù)據(jù)加上校驗(yàn)再測試一下看情況

  補(bǔ)充一下

  以上測試只修改了一個屬性

  TcpUtils.SendBufferLength = 1K,2K,4K,8K

  但只有1K的測試結(jié)果奇怪地沒出現(xiàn)文件錯誤,其了幾中均出現(xiàn)僅僅是對ServerB,對ServerA來說沒有出現(xiàn),2K,4K也只是開啟迅雷的時(shí)候錯誤情況多.


當(dāng)前名稱:解決C#Socket發(fā)送數(shù)據(jù)大小問題
網(wǎng)站路徑:http://www.dlmjj.cn/article/dhddedc.html