发短信:不用连接,需要知道对方的地址!
package com.shushu.net1;
?
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("localhost");
int port = 9090;
//数据、数据的长度起始、发给谁
DatagramPacket packet = new DatagramPacket(msg.getBytes(),msg.getBytes().length,localhost,port);
?
//3.发送包
socket.send(packet);
//4.关闭流
socket.close();
?
}
}
package com.shushu.net1;
?
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
?
public class UdpServerDemo01 {
public static void main(String[] args) throws Exception {
//开放端口
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();
}
}
原文:https://www.cnblogs.com/changhanbing/p/14720066.html