基于Java中UDP的广播形式(实例讲解)
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,并不能保证它们能到达目的地 ,也不能保证数据包到达的顺序。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
在Java中UDP的实现
UDP:
客户端:
1.创建用于UDP通信的socket对象---DatagramSocket(用于UDP数据的发送和接收)---数据报套接字
2.准备数据,封装包----DatagramPacket(数据包)
3.发送数据,通过send方法
4.关闭套接字对象--socket对象
服务器端: 接收数据
1.创建socket套接字对象,并绑定端口号
2.创建包对象,创建空数组,准备接收数据
3.接收数据
4.关闭资源
UDP广播方式:
同一网段所有主机都能接收,前提是端口要监听
客户端发送广播,开启端口监听的服务端接收并打印消息
广播的实现 :由客户端发出广播,服务器端接收
String host = "255.255.255.255";//广播地址--代表所有主机
10.0.122.255----代表前三个网段是 10.0.122的所有主机
代码实现
客户端(发送端)
import java.io.IOException; import java..DatagramPacket; import java..DatagramSocket; import java..IAddress; import java..SocketException; import java..UnknonHostException; public class UDP_client { public static void main(String[] args) thros IOException { //1.创建对象 //构造数据报套接字并将其绑定到本地主机上任何可用的端口。 DatagramSocket socket = ne DatagramSocket(); //2.打包 byte[] arr = "客户端哈哈。。。。".getBytes(); //四个参数: 包的数据 包的长度 主机对象 端口号 DatagramPacket packet = ne DatagramPacket (arr, arr.length,IAddress.getByName("10.0.122.255") , 4000); //3.发送 socket.send(packet); //4.关闭资源 socket.close(); } }
服务器端(接收端)
import java.io.IOException; import java..DatagramPacket; import java..DatagramSocket; import java..SocketException; import java.util.Arrays; public class UDP_server { public static void main(String[] args) thros IOException { //1 DatagramSocket serverSocket = ne DatagramSocket(4000); //2 byte[] arr = ne byte[1024]; DatagramPacket packet = ne DatagramPacket(arr, arr.length); //3 当程序运行起来之后,receive方法会一直处于监听状态 serverSocket.receive(packet); //从包中将数据取出 byte[] arr1 = packet.getData(); System.out.println(ne String(arr1)); //4 serverSocket.close(); } }
结果
前三个网段是 10.0.122的所有主机上的端口号为4000的服务器端,只要开着,都可以接收到 ---
客户端哈哈。。。。
以上这篇基于Java中UDP的广播形式(实例讲解)就是我分享给大家的全部内容了,电脑维修网希望能给大家一个参考,也电脑维修网希望大家多多支持考高分网。
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工