1、服务端先连接
package com.wyq.server;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class TestUDPServer {
public static void main(String[] args) throws IOException {
//【1】用于发送和接收
DatagramSocket ds = new DatagramSocket(9000);
//[2]创建包裹,准备接收
//注意接收的时候是创建了一个空的数组,用于将后期接收到的数据存储进去
byte [] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);//接收
//【3】查看收到的内容
System.out.println(new String(dp.getData(),0,dp.getLength()));
//[4]关闭
ds.close();
}
}
2、客户端后开启
package com.wyq.client;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class TestUDPClient {
public static void main(String[] args) throws IOException {
//[1]创建接收和发送的对象
DatagramSocket ds = new DatagramSocket();
//[2]需要对数据进行打包
//注意这里的数组可以是通过String类型的字符串转化而成的
byte buf [] = "helloworld".getBytes();
//封装并贴上标签
DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getByName("192.168.190.1"),9000);
//[3]发送
ds.send(dp);
//[4]关闭
ds.close();
}
}
3、总结:
1)首先是创建datagramSocket连接
2)服务端先开启
3)服务客户端先进性封装。,封装成byte类型的数组的形式
4)客户端调用send方法进行发送
5)服务端建立连接
6)服务端建立byte类型的数组,准备接收
7)服务端进行接收
8)最后是关闭