Java网络编程---UDP编程模型小结
2016-07-31 16:36
435 查看
一、发送端/接收端
UDP一般用于安全性要求不高的端对端传输模型的应用程序,它们都会存在两个终端。两端的编程方式类似,基本编程步骤如下:
(1)创建数据Socket,指定一个端口号。Java提供了java.net.DatagramSocket类来支持这一步,两端可以使用不同的端口号,代码如下:
(3)调用DatagramPacket的receive()或send()方法进行数据的接收或发送,代码如下:
(4)调用DatagramPacket的getData()方法得到byte数组的数据
(5)释放资源。关闭DatagramSocket对象,代码如下:
发送端发送数据,接收端接收数据
UDP一般用于安全性要求不高的端对端传输模型的应用程序,它们都会存在两个终端。两端的编程方式类似,基本编程步骤如下:
(1)创建数据Socket,指定一个端口号。Java提供了java.net.DatagramSocket类来支持这一步,两端可以使用不同的端口号,代码如下:
DatagramSocket ds = new DatagramSocket(9999);(2)对于接收消息的一端来说,提供一个byte数组进行数据的存储,而对于发送消息的一端除此以外还需要提供对端的IP地址和端口号,代码如下:
byte[] buff = new byte[1024];//创建一个byte数组 DatagramPacket dp = new DatagramPacket(buff, 1024);//长度小于等于buff的长度 //或者 String str = "数据"; DatagramPacket dp = new Datagrampacket(str.getBytes(), 0, str.length(), InetAddress.getByName("localhost"), 9999);
(3)调用DatagramPacket的receive()或send()方法进行数据的接收或发送,代码如下:
ds.receive(DatagramPacket对象); //或者 ds.send(DatagramPacket对象);
(4)调用DatagramPacket的getData()方法得到byte数组的数据
dp.getData();//如果缓存的byte数组长度与接收的数据长度不统一则需要用某些方法进行数据切分存储
(5)释放资源。关闭DatagramSocket对象,代码如下:
dp.close();二、UDP编程示例
发送端发送数据,接收端接收数据
public class UDPServer01 { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(9999);//创建DatagramSocket指定闆 byte[] buff = new byte[1024];//创建byte数组 DatagramPacket dp = new DatagramPacket(buff, 1024);//创建数据包对象 ds.receive(dp);//接收消息 String str = new String(dp.getData(), 0, dp.getLength());//得到数据 System.out.println(str); ds.close();//关闭DatagramSocket } }
public class UDPClient01 { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(9998); String str = "abc"; DatagramPacket dp = new DatagramPacket(str.getBytes(), 0, str.length(), InetAddress.getByName("localhost"), 9999); ds.send(dp);//发送数据 ds.close();//关闭DatagramSocket } }
相关文章推荐
- Java网络编程---TCP编程模型小结
- Java基础-网络编程(概述、网络模型、TCP和UDP)
- java网络编程小结1
- java网络编程小结1
- java 网络编程【5】 完善的TCP服务器程序模型(一个实例)
- JAVA网络编程 UDP 初学者进
- Java UDP网络编程 - 最简单示例
- java网络编程学习(四)UDP/IP+BIO/NIO/多播
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- JAVA网络编程入门的两个demo(TCP+UDP)
- Java_乔晓松_Java网络编程UDP
- JAVA网络编程入门的两个demo(TCP+UDP)
- Java基础23天--05--网络编程(TCP和UDP)
- Java 网络编程之 (UDP网络聊天程序)
- java例程练习(网络编程[简单UDP通信试验])
- Java 网络编程 TCP vs UDP -Java学习笔记(31)
- java网络编程(一) socket方式TCP和Datagram的UDP
- java 中基于udp协议的网络编程的 net库包的相关类的用法
- JAVA网络编程入门的两个demo(TCP+UDP)
- Java中网络通信编程之UDP通信