发短信:不用连接,需要知道对方的地址!
发送端
package top.ltyzqhh.Net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class UdpClientDemo01 {
public static void main(String[] args) throws Exception {
//1.建立一个Socket
DatagramSocket socket = new DatagramSocket();
//2.建包
String msg="你好啊,服务器!";
//发送给谁
InetAddress localhost = InetAddress.getByName("127.0.0.1");
int port =9000;
//数据,数据长度,要发送的对象
DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, 9000);
//3.发包
socket.send(packet);
//4.关闭流
socket.close();
}
}
接收端
package top.ltyzqhh.Net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
//等待客户端连接
public class UdpServiceDemo01 {
public static void main(String[] args) throws Exception {
//开放端口
DatagramSocket socket = new DatagramSocket(9000);
//接收数据包
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);//接收
socket.receive(packet);//阻塞接收
System.out.println(packet.getAddress().getHostName());
System.out.println(new String(packet.getData(),0,packet.getLength()));
//关闭链接
socket.close();
}
}