IP多播技術學習

2021-08-30 07:29:11 字數 1028 閱讀 9816

ip多播技術實現的聊天系統

多播通訊使用的是d類ip位址,這些位址並不和任何主機關聯,而是專門為多播通訊保留下來的,其位址範圍為224.0.0.1-239.255.255.255,除了224.0.0.1-224.0.0.255是留作為多播路由器使用的外,剩下的位址都可以用來進行群組通訊。乙個通訊組的所有參與者必須首先登記到組裡來。

傳送方端:

首先在乙個埠建立乙個多播套接字,並指定多播ip位址。

inetaddress group = inetaddress.getbyname("266.3.3.3");

int port = 6789;

multicastsocket socket = new multicastsocket(port);

傳送方建立乙個datagrampacket物件,把它賦給乙個資料快取,並使用位元組陣列來填充後通過準備好的套接字傳送出去。

byte buffer = new byte[1000];

datagrampacket datagram = new datagrampacket(buffer,buffer.length,group,port);

datagram.getdata((string)message.getbytes());

socket.send(datagram);

接受方端:

為了接受資料,接收方必須把自己註冊到組裡。

multicastsocket socket = new multicastsocket(6789);

inetaddress group = inetaddress.getbyname("266.3.3.3");

socket.joingroup(group);

接著,接收方就可以等待資料報的到來了.

socket.receive(datagram);

string message = new string(datagram.getdata());

必須說明的是,由於訊息是通過位元組流傳送過來的,接收方必須事先知道傳送方要傳送的資料結構型別,然後才能進行相應的轉換.

Linux網路的多播IP技術

linux網路的多播ip技術 一 配置linux支援多播ip 二 使用linux多播ip廣播資料 例如本地計算機的的ip位址是 127.0.0.1二它的多播位址是 224.0.0.1。這是由rcf 1390定義的。為傳送ip多播資料,傳送者需要確定乙個合適的多播位址,這個位址代表乙個組。ipv4多播...

Linux網路的多播IP技術

linux網路的多播ip技術 一 配置linux支援多播ip 二 使用linux多播ip廣播資料 例如本地計算機的的ip位址是 127.0.0.1二它的多播位址是 224.0.0.1。這是由rcf 1390定義的。為傳送ip多播資料,傳送者需要確定乙個合適的多播位址,這個位址代表乙個組。ipv4多播...

ip 多播位址 和mac多播位址隱射

為了支援ip 多播,乙太網的大佬們已經為 ethernet和fiber distributed data inte ce fddi 的mac位址保留了乙個多播位址區間 01 00 5e 00 00 00 到 01 00 5e 7f ff ff。正如下圖所示48位的mac位址中的高25位是固定的,低2...