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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 9710 | 回復: 3
打印 上一主題 下一主題

求助TCP數(shù)據(jù)包亂序問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-10-18 21:37 |只看該作者 |倒序瀏覽
本帖最后由 boyjimeking 于 2012-10-18 21:42 編輯

請教一個TCP通信問題!。!
1)客戶端依次發(fā)送2個包,為了好記,我標記為1號包,2號包;
2)假設1號包到達服務器的時間戳為0,2號包到達服務器的時間戳為0+2ms;
3)服務器處理單條socket流采用的是單線程異步,所以1號包、2號包會同時被處理;
5)處理1號包耗時4ms,得到1'包,處理2號包1ms,得到2'包;
6)在0+3ms的時候,把2'號包發(fā)往客戶端,0+4ms的時候把1'號包發(fā)往客戶端;
7)客戶端接收到的包序為2‘ 、 1’

而我期待的收包順序為1' 2' , 請問這種接收端的亂序問題,有什么成熟的機制來避免嗎?

因為某些情況下如果亂序,會導致應用層數(shù)據(jù)錯誤。比如:揮刀砍了敵人2刀,產(chǎn)生2個數(shù)據(jù)包,第一刀敵人沒死,第二刀敵人死了,如果第二個包的處理結果先返回來,客戶端會播放敵人死亡的動畫,倒地變成尸體后收到第一個包的處理結果,就會發(fā)生砍尸體現(xiàn)象。

謝謝大家!

論壇徽章:
0
2 [報告]
發(fā)表于 2013-03-15 16:44 |只看該作者
回復 1# boyjimeking


    tcp有個sequence number,tcp重組后,在轉發(fā)。內(nèi)核tcp_data_queue()處理了,可以仿照一下

論壇徽章:
5
IT運維版塊每日發(fā)帖之星
日期:2015-08-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-23 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-24 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-11-12 06:20:00
3 [報告]
發(fā)表于 2013-03-18 10:34 |只看該作者
TCP是自動重組的,無需考慮亂序。UDP需要應用程序自行處理,一般是采用緩存,重排解決。

論壇徽章:
0
4 [報告]
發(fā)表于 2016-06-10 17:29 |只看該作者
客戶端緩存數(shù)據(jù)包,然后在數(shù)據(jù)包前面加個4字節(jié)tag,收到后重新排序下吧
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP