⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpclienttest.java

📁 《Java程序设计与应用》-张仕斌-源程序 《Java程序设计与应用》-张仕斌-源程序
💻 JAVA
字号:
//UDPServerTest.java
import java.io.*;
import java.net.*;

public class UDPClientTest {
	public static void main(String[]args) {
		DatagramSocket cltSocket = null;  //客户端UDP
		DatagramPacket cltPacket = null;  //客户端数据包
		InetAddress rmtHost = null;       //服务器
		int localPORT = 1234;             //本地端口
		int rmtPort = 6789;               //服务器端口
		String strData , rmtHostName = "localhost"; //服务器名
		byte[] buffer = new byte[512];    //字节数组
		
		if (args.length > 2) { //如果要指定本地端口,服务器名和端口
			rmtHostName = args[1];
			try {
				localPORT = Integer.parseInt(args[0]);
				rmtPort = Integer.parseInt(args[2]);
			}catch(Exception e) {
				System.out.println("端口必须是数字");
				return;
			}
		}
		
		try {                          //创建本地UDP
			cltSocket = new DatagramSocket(localPORT);
		}catch(IOException e) {
			e.printStackTrace();
		}
		
		try {
			rmtHost = InetAddress.getByName(rmtHostName); //生成服务器对象
			
			strData = "This information is from " + 
					InetAddress.getLocalHost().getHostName();  //要发送的消息
			strData.getBytes(0 , strData.length() , buffer , 0); //放到字节数组中
			cltPacket = new DatagramPacket(buffer , 
					512 , rmtHost , rmtPort);                 //创建要发送的数据包对象
			cltSocket.send(cltPacket);                    //发送数据包
			
			cltSocket.receive(cltPacket);                 //接收服务器的反馈信息
			strData = new String(cltPacket.getData());    //取得数据
			strData = "Received response from [" + rmtHostName + "]:" + strData;
			System.out.println(strData);                  //输出
		}catch(IOException e) {
			e.printStackTrace();
		}
		
		cltSocket.close();                 //关闭
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -