📄 40e54e4ccc75001d117f97694e587497
字号:
/*【例11-9】 Datagram接收程序能创建并循环地接收数据包,
* 同时将接收到的数据包信息显示出来。
*/
//程序清单11-9: DatagramReceiveDemo.java
package datagram;
import java.net.*;
import java.io.*;
public class DatagramReceiveDemo {
public static void main(String[] args) {
DatagramSocket receiveSocket = null;
try {
byte data[] = new byte[100];
// 创建接收数据包
DatagramPacket receivePacket = new DatagramPacket(data, data.length);
// 声明并创建DatagramSocket对象,并指定接收方程序接收数据端口为55559
receiveSocket = new DatagramSocket(55559);
System.out.println("接收进程已启动!可循环接收数据...");
// 利用循环监听端口是否有客户端发送的数据包
while (true) {
// 接收数据包
receiveSocket.receive(receivePacket);
// 获取发送数据包的主机的地址
String sendIP = receivePacket.getAddress().toString();
// 获取发送数据包的主机的端口号
String sendPort = String.valueOf(receivePacket.getPort());
String packer = new String(receivePacket.getData(), 0,
receivePacket.getLength());
// 获取发送数据包的内容
System.out.println("Received data from: " + sendIP + ":" + sendPort);
System.out.println("Received data is: " + packer);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
receiveSocket.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -