使用C#語言的UDPClient實作組播發送,設定了ttl,但資料仍然不能跨交換機。代碼如下:
public static void GetSetTtl(UdpClient u)
{
// Set the Time To Live (TTL) for this client.
u.Ttl = 42;
Console.WriteLine("Ttl value is {0}",
u.Ttl);
}
設定后除錯ttl設定沒問題,但抓包看資料的ttl設定仍然為1,跨交換機資料就過不去。請各位大神看看是UDPClient類有什么缺陷嗎?
我用的是VS2010.
uj5u.com熱心網友回復:
和交換機應該沒什么關系,udp運行在ip層以上,交換機一般都是第二層或者第三層uj5u.com熱心網友回復:
交換機沒有特別設定不會轉發廣播(BroadCast)的。試想如果交換機都轉發廣播,一次廣播不傳到整個世界?如果是組播(MultiCast),組播的IPv4范圍為224.0.0.0至239.255.255.255,而且需要交換機的支持(當你加入組播組時,交換機需要登記你的訂閱,以便轉發其他網段的組播)。有些老型號的交換機不支持組播。
uj5u.com熱心網友回復:
交換機設定肯定沒有問題,我是用的組播發送。用其他語言寫了測驗程式是可以跨交換機組播發送的,只有用C#不可以。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/73249.html
標籤:C#
下一篇:大家都是如何選用以下構架、框架的
