1.发送数据
package UPDdemo;
import java.io.IOException;
import java.net.*;
public class demo1 {
public static void main(String[] args) throws IOException {
DatagramSocket s = new DatagramSocket();
byte[] s1 = "我想和你在一起".getBytes();
//getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
DatagramPacket d=new DatagramPacket(s1,s1.length, InetAddress.getByName("192.168.31.112"),1008);
//数组,数组长度,ip地址,端口
s.send(d);
s.close();
}
}
2.接收数据
package UPDdemo;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class demo2 {
public static void main(String[] args) throws IOException {
DatagramSocket datagramSocket = new DatagramSocket(1008);
byte a[]=new byte[1024];
DatagramPacket dp = new DatagramPacket(a,a.length);
datagramSocket.receive(dp);
System.out.println(new String(dp.getData(),0,dp.getLength()));
// String(byte[] bytes, int offset, int length)
// 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
datagramSocket.close();
}
}
先接收再发送数据