?? 807b9405cf75001d117f97694e587497
字號:
//【例11-12】 組播接收程序(客戶端)。
//程序清單11-12: MulticastDatagramReceiveDemo.java
package datagram;
import java.net.*;
import java.io.*;
public class MulticastDatagramReceiveDemo {
public static final int PORT = 5558;
public static void main(String[] args) throws IOException {
new MulticastDatagramReceiveDemo();
}
public MulticastDatagramReceiveDemo() throws IOException {
// 以指定端口PORT,創建MulticastSocket組播套接字的實例
MulticastSocket multicastSocket = new MulticastSocket(PORT);
// D類IP地址為組播地址,其IP地址范圍是:224.0.0.0~239.255.255.255
// 以指定的D類IP地址225.8.8.8創建地址實例
InetAddress multicastIP = InetAddress.getByName("225.8.8.8");
multicastSocket.joinGroup(multicastIP);// 將D類地址加入組播地址組
DatagramPacket packet; // 聲明一個接收數據包引用
System.out.println("客戶端接收進程已啟動...");
// 循環地接收數據包
for (int i = 0; i < 8; i++) {
byte[] buf = new byte[200]; // 創建字節數組buf以保存接收到的數據包
packet = new DatagramPacket(buf, buf.length);// 創建接收數據包
multicastSocket.receive(packet);// 用組播套接字的實例方法接收數據包
// 提取接收的數據包中的數據并在屏幕輸出
System.out.println("客戶端接收進程收到來自"
+ packet.getAddress().getHostAddress() + "組播服務器的數據包中的數據: "
+ new String(packet.getData()));
}
multicastSocket.leaveGroup(multicastIP);// D類地址離開組播地址組
multicastSocket.close();// 關閉組播套接字
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -