java 网络编程----UDP基础级的示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 网络编程----UDP基础级的示例相关的知识,希望对你有一定的参考价值。

      下面介绍UDP基础级的代码示例:

首先了解创建UDP传输的发送端的思路:

1.创建UDP的Socket服务。
2.将要发送的数据封装到数据包中。
3.通过UDP的socket服务将数据包发送出去。
4.关闭socket服务。

而接收端的思想如下:

1.创建UDP的Socket服务。需要明确一个端口号。
2.创建数据包,用于存储接收到的数据,方便用数据包对象的方法解析各种数据。
3.使用socket服务的recive方法将接收到的数据存储到数据包中。
4.通过数据包中的方法解析数据包中的数据。
5.关闭资源。

具体代码如下:

//发送端

public class UDPSendDemo {

public static void main(String[] args) throws IOException {

System.out.println("发送端启动。。。。。");

//1. UDP的Socket服务,使用DatagramSocket对象,可以指定一个端口进行发送,否则服务器会默认选一个未被使用的端口
DatagramSocket da = new DatagramSocket(9999);

//2. 将要发送的数据封装到数据包中。使用DatagramPacket将发送数据封装在里面
String str="UD发送数据演示";
byte[] buf=str.getBytes();
//定义了接收方的IP地址和端口
DatagramPacket dp= new DatagramPacket(buf, buf.length,InetAddress.getByName("192.168.5.163"),10000);

//3.通过UDP的socket服务将DatagramPacket数据包发送出去,使用send方法
da.send(dp);

//4.资源使用完,关闭资源
da.close();
}
}

// 接收端

public class UDPReciveDemo {

public static void main(String[] args) throws IOException {

System.out.println("接收端启动。。。");

//1.创建UDP的Socket服务。
DatagramSocket ds = new DatagramSocket(10000);

//2.创建接收的数据包
byte[] buf=new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);

//3.使用socket服务的recive方法将接收到的数据存储到数据包中。
ds.receive(dp);

//4.通过数据对象中的方法解析数据包中的数据。比如:IP地址,端口,内容
String ipString=dp.getAddress().getHostAddress();
int port =dp.getPort();
String data= new String(dp.getData(),0,dp.getLength());

System.out.println("ip :"+ipString+"\n"+"port :"+port+"\n"+"data :"+data);

// 5.关闭资源
ds.close();
}
}

以上是关于java 网络编程----UDP基础级的示例的主要内容,如果未能解决你的问题,请参考以下文章

java高性能编程基础 - TCP与UDP的详细解读

[Java网络编程基础]UDP发送和接收数据

Java-Web学习-Java基础-网络编程(TCP和UDP)附TCP实现通信

java基础增强:网络编程TcpUdp案例

JAVA 网络编程流相关代码(UDP和TCP)

Java网络编程基础---基于UDP编程