📄 udpclienttest.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 + -