• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            udp丟包 又是udp丟包

            轉載自:http://www.cnweblog.com/fly2700/archive/2011/09/19/317825.html

            什么會導致udp丟包呢,我這里列舉了如下幾點原因:

            1.調用recv方法接收端收到數據后,處理數據花了一些時間,處理完后再次調用recv方法,在這二次調用間隔里,發過來的包可能丟失。對于這種情況可以修改接收端,將包接收后存入一個緩沖區,然后迅速返回繼續recv。

            2.發送的包巨大丟包。雖然send方法會幫你做大包切割成小包發送的事情,但包太大也不行。例如超過30K的一個udp包,不切割直接通過send方法發送也會導致這個包丟失。這種情況需要切割成小包再逐個send。

            3.發送的包較大,超過mtu size數倍,幾個大的udp包可能會超過接收者的緩沖,導致丟包。這種情況可以設置socket接收緩沖。以前遇到過這種問題,我把接收緩沖設置成64K就解決了。
            int nRecvBuf=32*1024;//設置為32K
            setsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));

            4.發送的包頻率太快,雖然每個包的大小都小于mtu size 但是頻率太快,例如40多個mut size的包連續發送中間不sleep,也有可能導致丟包。這種情況也有時可以通過設置socket接收緩沖解決,但有時解決不了。

            5.發送的廣播包或組播包在windws和linux下都接收正常,而arm上接收出現丟包。這個還不好解決,我的解決方法是大包切割成大小為1448的小包發送,每個包之間sleep 1毫秒,雖然笨,但有效。我這里mtu size為1500字節,減去udp包頭8個字節,減去傳輸層幾十個字節,實際數據位1448字節。
            除此之外還可以試試設置arm操作系統緩沖:
            //設置mtu size 1500最大
            ifconfig eth0 mtu 1500
            //查看接收緩沖最大和默認大小。
            sysctl -A | grep rmem
            //設置接收緩沖的最大大小
            sysctl -w net.core.rmem_max=1048576
            sysctl -w net.core.rmem_default=1048576
            sysctl -w net.ipv4.udp_mem=1048576
            sysctl -w net.ipv4.udp_rmem_min=1048576

            6,局域網內不丟包,公網上丟包。這個問題我也是通過切割小包并sleep發送解決的。如果流量太大,這個辦法也不靈了。


            總之udp丟包總是會有的,如果出現了用我的方法解決不了,還有這個幾個方法: 要么減小流量,要么換tcp協議傳輸,要么做丟包重傳的工作

            posted on 2012-09-25 03:25 楊粼波 閱讀(2994) 評論(1)  編輯 收藏 引用 所屬分類: 文章收藏網絡編程

            久久久久无码精品国产不卡| 久久久午夜精品福利内容| 亚洲综合日韩久久成人AV| 亚洲中文字幕久久精品无码APP| 99久久国产宗和精品1上映| 996久久国产精品线观看| 久久精品国产精品亚洲下载| 久久成人小视频| 精品一区二区久久| 久久久亚洲AV波多野结衣| 久久这里只精品国产99热 | 欧美激情精品久久久久久久九九九| 综合久久精品色| 久久久国产精品福利免费| 日韩久久无码免费毛片软件| 国产精品久久波多野结衣| yy6080久久| 人妻少妇精品久久| 丁香狠狠色婷婷久久综合| 久久久久久精品久久久久| 99久久免费国产特黄| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久ZYZ资源站无码中文动漫 | 国产综合久久久久| 伊人久久精品影院| 久久99亚洲综合精品首页| 国内精品久久久人妻中文字幕| 久久伊人亚洲AV无码网站| 亚洲嫩草影院久久精品| 国产成人久久精品激情| 精品久久久久久亚洲精品| 国产美女亚洲精品久久久综合| 午夜视频久久久久一区| 色欲av伊人久久大香线蕉影院| 国产精品一久久香蕉国产线看观看| 久久伊人精品青青草原日本| 99久久国产综合精品网成人影院 | 97精品伊人久久大香线蕉| 久久久久国产精品嫩草影院 | 香蕉99久久国产综合精品宅男自| 一级做a爱片久久毛片|