发短信:不用连接,需要知道对方的地址
发送消息
package Demo02;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class UdoServerDemo01 {
public static void main(String[] args) throws IOException {
//开放端口
DatagramSocket socket = new DatagramSocket(9090);
//接受数据包
byte[] buffer=new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);
socket.receive(packet);//阻塞接受
System.out.println(packet.getAddress().getHostAddress());
System.out.println(new String(packet.getData(),0,packet.getLength()));
//关闭连接
socket.close();
}
}
package Demo02;
import java.io.IOException;
import java.net.*;
public class UdpClientDemo01 {
public static void main(String[] args) throws SocketException {
//1.建立一个Socket
DatagramSocket socket = new DatagramSocket();
//2.建个包
String msg="你好";
//发送给谁
InetAddress localhost= null;
try {
localhost = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
int port=9090;
DatagramPacket packet = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,localhost,port);
//3.发送包
try {
socket.send(packet);
} catch (IOException e) {
e.printStackTrace();
}
//关闭流
socket.close();
}
}