消息发送端UDP不需要连接服务器,只管发送即可
我们这里为了方便,模拟了一个接收端,接收端也可发送消息
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//UDP实际上不需要连接服务器,只管发送消息就行
//在这里,我们为了方便,写一个接收端
public class UdpClientDemo01 {
public static void main(String[] args) throws IOException {
//1.建立一个socket
DatagramSocket socket = new DatagramSocket();
//2.建一个包
String msg="你好,我是给bug带个赞";
//发送给谁
InetAddress localhost = InetAddress.getByName("localhost");
int port=9090;
//数据,数据的长度起始,要发送给谁
DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port);
//3.发送包
socket.send(packet);
//4.关闭,包不需要关闭
socket.close();
}
}
消息接收端
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpReceiveDemo01 {
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();
}
}



