datagramreceivedemo.java

来自「java程序设计教程的源码」· Java 代码 · 共 39 行

JAVA
39
字号
/*【例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 + =
减小字号Ctrl + -
显示快捷键?