亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 4046 | 回復(fù): 6
打印 上一主題 下一主題

自己想的UDP傳輸文件的協(xié)議原型,大家來(lái)踩踩 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-13 17:39 |只看該作者 |倒序?yàn)g覽
有點(diǎn)長(zhǎng),請(qǐng)大家耐心點(diǎn),呵呵

最近想做廣域網(wǎng)傳輸文件的程序,使用純UDP,利用一個(gè)服務(wù)器來(lái)配合NAT穿透。大概的想法如下:

·模仿FTP,一個(gè)數(shù)據(jù)通道、一個(gè)控制通道(使用UDT,可保證數(shù)據(jù)一定到達(dá));
<以下說(shuō)的都是數(shù)據(jù)通道>

·基于數(shù)據(jù)塊的方式傳輸,無(wú)流的概念,每個(gè)塊都是離散的,不必保證按順序到達(dá);

·將文件分塊,每個(gè)塊暫定1024字節(jié)(最后一個(gè)塊可能不到1024),每個(gè)塊有一個(gè)id,由0開始。雙方通過(guò)塊id計(jì)算偏移量;

·數(shù)據(jù)包的格式為:4字節(jié)塊id+1024字節(jié)數(shù)據(jù)+16字節(jié)md5(檢驗(yàn)id和數(shù)據(jù)) = 1054字節(jié);

·發(fā)送端以數(shù)據(jù)包為單位發(fā)送,接收端收到后進(jìn)行校驗(yàn),檢查數(shù)據(jù)是否損壞;

·接收端使用位來(lái)標(biāo)記每個(gè)塊是否傳輸成功,4G大的文件所需的標(biāo)記空間為:4*1024*1024/8/1024 = 512K;

·接收端定時(shí)將接收成功的塊id通過(guò)控制通道告訴發(fā)送端,發(fā)送端也使用位標(biāo)記;

·單次發(fā)送過(guò)程中不進(jìn)行數(shù)據(jù)的重傳,發(fā)送端將未傳送的塊全部發(fā)送出去;

·每次發(fā)送完畢后(即傳完所有未確認(rèn)塊),發(fā)送端檢查是否還有未確認(rèn)的塊,如果有則再進(jìn)行一次傳輸,直到所有數(shù)據(jù)塊都確認(rèn)為止;

以上就是主要思想,本人新手,請(qǐng)大家拍磚。

ps:目前還沒(méi)有進(jìn)行擁塞控制的方法,大家順便也支支招。

[ 本帖最后由 ddvv 于 2010-1-13 22:43 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-01-13 22:29 |只看該作者
沒(méi)人來(lái)嗎,自己頂一下

馬甲號(hào),那個(gè)賬號(hào)總是密碼錯(cuò)。。。忘記了

[ 本帖最后由 dw4418 于 2010-1-13 22:30 編輯 ]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報(bào)告]
發(fā)表于 2010-01-13 22:33 |只看該作者
那誰(shuí)不是做過(guò)udt嗎?

http://zh.wikipedia.org/wiki/UDT

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-01-13 22:40 |只看該作者
UDT是基于流的,我只用它來(lái)進(jìn)行控制信息的交互。傳輸文件數(shù)據(jù)部分,還是以塊的方式好

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-01-13 22:44 |只看該作者
感覺(jué)速度比tcp快不了多少,還不如用tcp那。。。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-01-13 23:00 |只看該作者
要的就是那點(diǎn)效率的提升。

還有打洞的問(wèn)題,TCP雖然也可以,但是比較麻煩貌似。UDP簡(jiǎn)單

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2010-01-14 13:51 |只看該作者
原帖由 ddvv 于 2010-1-13 17:39 發(fā)表
有點(diǎn)長(zhǎng),請(qǐng)大家耐心點(diǎn),呵呵

最近想做廣域網(wǎng)傳輸文件的程序,使用純UDP,利用一個(gè)服務(wù)器來(lái)配合NAT穿透。大概的想法如下:

·模仿FTP,一個(gè)數(shù)據(jù)通道、一個(gè)控制通道(使用UDT,可保證數(shù)據(jù)一定到達(dá));


...



俺以前也這么設(shè)計(jì)過(guò) 不過(guò)沒(méi)有實(shí)踐過(guò)

不過(guò)我倒是覺(jué)得沒(méi)必要開兩個(gè)通道 另外塊的大小可以發(fā)送測(cè)試包確定, 需要握手協(xié)商需要發(fā)送的數(shù)據(jù)總大小 塊的數(shù)量 協(xié)商每個(gè)塊的大小, 需要考慮擁堵情況下丟包的可能。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP