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...