當前位置:首頁 » 編程語言 » 接收組播數據c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

接收組播數據c語言

發布時間: 2022-07-06 18:06:33

㈠ win7無法接受組播數據

Windows 包含「媒體感知」功能。在使用傳輸控制協議/Internet 協議 (TCP/IP) 且基於 Windows 的計算機上,Windows 會檢測網路媒體是否處於「鏈接狀態」。只要 Windows 檢測到媒體處於「故障」狀態,它就會從該適配器中刪除綁定的協議,直到檢測到該適配器重新「正常工作」時為止。
你的異常應該就是Windows 檢測檢測不到正常造成的。也就是說你需要更改系統注冊表以使系統網路適配器檢測此狀態。
(提醒下,修改注冊表之前,一定要先進行備份,修改此注冊表有一定風險,若因錯誤操作可能需要重裝系統。步驟是微軟提供的。)

要禁止網路適配器檢測該鏈接狀態,請按照下列步驟操作。

注意:NetBEUI 和 IPX 無法識別「媒體感知」。
使用注冊表編輯器 (Regedt32.exe) 來查看下面的注冊表項:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
添加以下注冊表值:
數值名稱:DisableDHCPMediaSense
數據類型:REG_DWORD - 布爾值
數值數據范圍:0、1(False、True)默認值:0 (False)
說明:此參數控制 DHCP 媒體感知行為。如果將此數值數據設置為 1,DHCP(甚至非 DHCP)客戶端就會忽略來自介面的媒體感知事件。默認情況下,媒體感知事件觸發 DHCP 客戶端執行操作,例如,試圖獲取租約(當發生連接事件時),或者使介面和路由無效(當發生連接斷開事件時)。
重新啟動計算機。
注意:在 Windows Server 2003 中,控制媒體感知的函數已添加到群集系統中。即使注冊表中的 DisableDHCPMediaSense 未經設置或設置為 0 (False),群集系統也會將媒體感知更改為已禁用。隨後,由於要啟用媒體感知的系統的需要,DisableClusSvcMediaSense 注冊表值被引入到 SP1 中。通過使用以下注冊表子項,可以設置群集系統的控制函數的打開/關閉:

- 項:HKEY_LOCAL_MACHINE\Cluster\Parameters
- 數值名稱:DisableClusSvcMediaSense
- 數據類型:REG_DWORD - 布爾值
- 數據范圍:0、1(False、True)- 默認值:0 (False)。

DisableClusSvcMediaSense 默認值為 0 (False)。因此,控制函數處於打開狀態,而媒體感知處於禁用狀態。可以將 DisableClusSvcMediaSense 設置為 1 (True)。這樣,控制函數變為關閉狀態。之後,您便可以使用 DisableDHCPMediaSense 注冊表項設置媒體感知的啟用/禁用狀態了。這與 Windows 2000 Server 中的群集環境類似。

注意:如果您禁用「媒體感知」功能,則可能會遇到一些問題。例如,假設您的計算機上安裝了兩個網路適配器,如果在您禁用「媒體感知」功能後,其中的一個網路適配器不能工作,則該適配器將取消綁定。此外,如果配置了默認網關,則會刪除關聯的路由,以使所有通信通過另一個網路適配器進行。

另舉一例,當您從計算機上斷開網路電纜時,如果禁用了「媒體感知」功能,則通知區域的「本地連接」圖標將顯示「網路電纜沒有插好」狀態消息。此外,當您運行「ipconfig」命令時,會收到「Media State .....:Cable Disconnected」消息。但在此情況下,網路適配器已綁定到 TCP/IP。要驗證網路適配器是否已綁定到 TCP/IP,請查看路由表。要查看路由表,請使用「route print」命令。路由表可顯示網路適配器的 IP 地址。還可以使用「ping」命令 ping 網路適配器的 IP 地址,以驗證網路適配器是否已綁定到 TCP/IP。

㈡ C# UdpClient組播, 怎麼接收指定IP 的信息,其他的略過,給個例子最好

數據報socket接收的結構體里附帶著發送端IP,在這一步篩選一下應該可以

㈢ 網上找的Linux環境下基於ip組播的通信實現相關代碼,怎麼一直接收不到數據,求幫忙。

Linux環境下基於ip組播的通信實現相關代碼這個其實不難來拿即可。

㈣ c++ udp 組播問題

做一個發送確認機制,一個簡單的協議。
請求端先發送請求,服務端回應
服務端發迴文件第一個包,客戶端回應
…………
發送完畢

㈤ Vc++組播問題

你的問題可能是發送隊列太小的緣故 如果發送太快就會出現隊列滿的情況. 建議在發送前加一個可以動態增長的隊列保存發送數據

給你一個網路的資料
http://ke..com/view/569217.htm

㈥ c# UdpClient如何實現組播要求一對多相互發送和接收信息。

不用..一個就可以了...又可以組播又可以單播

收發都是啊~~~一個就能完成功能了.

組波還是單播都是使用Send函數.只是IPEndPoint這個參數不一樣..何必用2個發呢....不同的發送方式.只需要修改這個參數就可以了啊

_localIpAddress = GetLocalIpAddress();

_msgSocket = new UdpClient(new IPEndPoint(IPAddress.Parse(_localIpAddress),_msgPort));
_msgSocket.EnableBroadcast = true;
_msgSocket.JoinMulticastGroup(_groupIP);

/// <summary>
/// 組播消息
/// </summary>
/// <param name="msg"></param>
public static void SendMsgToAll(string msg)
{
try
{
byte[] buffer = Encoding.Default.GetBytes(msg);
_msgSocket.Send(buffer, buffer.Length,_groupEP);
}
catch (Exception err)
{
throw err;
}
}

/// <summary>
/// 發送消息給指定IP
/// </summary>
/// <param name="msg">要發送的消息</param>
/// <param name="ip">接收方的IP地址</param>
public static void SendMsgToOne(string msg,string ip)
{
try
{
byte[] buffer = Encoding.Default.GetBytes(msg);
_msgSocket.Send(buffer, buffer.Length, new IPEndPoint(IPAddress.Parse(ip), _msgPort));
}
catch (Exception err)
{
throw err;
}
}

只要替換最後一個參數.就實現了組播和單播.

c語言實現基於遺傳演算法的時延受限組播路由選擇(受限最小生成樹)

啊~~我們也學遺傳演算法呢~
代碼已經發到你的郵箱里了,請及時查看的~
有什麼問題可以Hi我呀,交流下

㈧ 有誰能給我貼一份可用的 UDP 組播代碼嗎

組播技術可形象的描述如下:
假設一個企業分布於各地的子公司(兩個以上)之間需要通過Internet進行實時的交換信息(數據,聲音,圖像),他們的計算機可能不屬於同一物理網 絡,甚至不屬於同一自治系統,這種通信的特點是「多點」式的。子公司發出的數據希望其他子公司都能收到,而總部發出的指示全體子公司都應收到。這種多點通信方式為組內廣播,即組播技術,也稱多播技術,多目網關技術。
1.2、TCP/IP傳送方式
組播技術是TCP/IP傳送方式的一種。在我們討論組播技術之前先來看看TCP/IP傳送方式。TCP/IP傳送方式有三種:單播,廣播,組播。
單播(Unicast)傳輸:在發送者和每一接收者之間需要單獨的數據信道。 如果一台主機同時給很少量的接收者傳輸數據,一般沒有什麼問題。但如果有大量主機希望獲得數據包的同一份拷貝時卻很難實現。這將導致發送者負擔沉重、延遲長、網路擁塞;為保證一定的服務質量需增加硬體和帶寬。
組播(Multicast)傳輸:它提高了數據傳送效率。減少了主幹網出現擁塞的可能性。組播組中的主機可以是在同一個物理網路,也可以來自不同的物理網路(如果有組播路由器的支持)。
廣播(Broadcast)傳輸:是指在IP子網內廣播數據包,所有在子網內部的主機都將收到這些數據包。廣播意味著網路向子網主機都投遞一份數據包,不論這些主機是否樂於接收該數據包。然而廣播的使用范圍非常小, 只在本地子網內有效,因為路由器會封鎖廣播通信。廣播傳輸增加非接收者的開銷。
組播是一種允許一個或多個發送者(組播源)發送單一的數據包到多個接收者(一次的,同時的)的網路技術。 組播源把數據包發送到特定組播組,而只有屬於該組播組的地址才能接收到數據包。組播可以大大的節省網路帶寬, 因為無論有多少個目標地址,在整個網路的任何一條鏈路上只傳送單一的數據包。 它提高了數據傳送效率。減少了主幹網出現擁塞的可能性。組播組中的主機可以是在同一個物理網路, 也可以來自不同的物理網路(如果有組播路由器的支持)。