前言
上一篇我们共同学习了TCP文件传输,本篇我们来学习UDP消息发送。
一、UDP通信操作
- 发送方:
1、建立一个socket连接。
2、建立一个包。
3、发送包。
4、关闭资源。
- 接收方:
1、 建立一个socket连接。
2、接收包
3、关闭资源
二、代码示例
1.UDP消息发送
代码如下(示例):
客户端:UdpClientDemo类
public class UdpClientDemo {
public static void main(String[]args) throws Exception{
//1.建立一个Scoket
DatagramSocket socket = new DatagramSocket();
//2.建立包
String msg = "服务器你好";
//发送给谁
InetAddress inetAddress = InetAddress.getByName("localhost");
int port = 9090;
DatagramPacket datagramPacket = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,inetAddress,port);
//3.发送包
socket.send(datagramPacket);
//4.关闭资源
socket.close();
}
}
服务端:UdpServerDemo类
public class UdpServerDemo {
public static void main(String[] args) throws Exception {
//1.开放端口
DatagramSocket socket = new DatagramSocket(9090);
//2.接收数据包
byte[] buffer = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(buffer,0,buffer.length);
socket.receive(datagramPacket);//阻塞接收
System.out.println(datagramPacket.getAddress().getHostAddress());
System.out.println(new String(datagramPacket.getData(),0,datagramPacket.getLength()));
//3.关闭资源
socket.close();
}
}
运行结果:
总结