Re: [問題] 在本機端跑群播封包 會有遺失嗎?
※ 引述《teddypig (每天不同的期待^^)》之銘言:
: 我的問題是這樣的
: 我在寫一個 Server-Client 架構的一個群播(Multicast)程式
: 我的Multicast Group address 設為 127.0.0.1
^^^^^^^^^
先合理的假設你描述的是用loopback這個介面來送multicast的東西.
: 我把網路線拔掉 讓 server和client的傳輸不經過外部網路
: 都在同一台電腦上跑
: 正常來講 我在server端 送了 3000個封包
: 在client端應該也要收到3000封包才對
: 但是我發現會有隨機不定量的遺失,
: 譬如 第一次測遺失了100個 第二次就只遺失80個 會有不固定的遺失
: 請問這樣子是正常的嗎?
: 都在網卡上跑 還會有自己遺失的現象嗎?
我想主要是因為multicast 當然的是使用udp來傳輸,那udp的特性本來就是不可靠的.
所以會漏封包.
那你可能對為什麼使用loopback介面,加上網路線也都移除了,但是仍然會漏封包有疑問.
假設你是收到一個封包就在畫面上輸出一個訊息,來得知收到了一個封包,而在你沒設限
的狀況下,一般來說送封包的速度是飛快的,但是輸出到畫面上的IO是緩慢的,所以就如同
大洪水衝進了小水管,有些資訊就因此遺漏了.這邊不見得是真的有漏封包狀況,那我們可
以把輸出到畫面上的訊息改輸出到檔案來協助確認一下:
ex. ./server > log.txt 2>&1
抑或是在server端收到3000個封包時,才打個訊息,這樣都可以減少因為輸出到畫面而遺漏
的資訊.
最後還是要提一下,收送封包沒有保證一次就成功的方式,所以才會有重試的機制,
只要不是漏的太誇張,應該是可以接受的.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.72.28
推
07/16 23:39, , 1F
07/16 23:39, 1F
→
07/16 23:40, , 2F
07/16 23:40, 2F
→
07/16 23:42, , 3F
07/16 23:42, 3F
→
07/16 23:42, , 4F
07/16 23:42, 4F
→
07/17 08:39, , 5F
07/17 08:39, 5F
→
07/17 08:40, , 6F
07/17 08:40, 6F
→
07/17 08:42, , 7F
07/17 08:42, 7F
→
07/17 08:43, , 8F
07/17 08:43, 8F
推
07/17 10:51, , 9F
07/17 10:51, 9F
→
07/17 11:08, , 10F
07/17 11:08, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):