之前博客已经了解过了TCP通信的实现
下面是UDP通信实现的代码,可以对比之前的博客来看
服务端代码如下:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) {
//创建服务端 接收数据的DatagramSocket对象
try(DatagramSocket datagramSocket = new DatagramSocket(9999)){
//创建数据缓冲区
byte b[] = new byte[1024];
//创建数据报包对象
DatagramPacket datagramPacket = new DatagramPacket(b,b.length);
//等待接收客户端所发送的数据
datagramSocket.receive(datagramPacket);
//取出数据
String str = new String(datagramPacket.getData(),0,datagramPacket.getLength());
//输出数据
System.out.println(str);
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端代码如下:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
public class UDPClient {
public static void main(String[] args) {
//创建发送数据的对象DatagramSocket,需要指定消息发送的端口
try(DatagramSocket datagramSocket = new DatagramSocket(8888)){
//数据需要进行类型转换,转换为字节数组数据类型
byte[] bytes = "Qiddo".getBytes();
//创建数据报包对象
DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length,new InetSocketAddress("127.0.0.1",9999));
//发送消息
datagramSocket.send(datagramPacket);
}catch(Exception e){
e.printStackTrace();
}
}
}
拿去运行吧,博友们^-^
该文章提供了Java实现UDP通信的代码示例,包括服务端和客户端的代码。服务端通过DatagramSocket在9999端口监听,接收客户端发送的数据;客户端则在8888端口创建DatagramSocket,向服务器的127.0.0.1:9999发送Qiddo的消息。
1376

被折叠的 条评论
为什么被折叠?



