当前位置: 移动技术网 > IT编程>开发语言>Java > 基于Java中UDP的广播形式(实例讲解)

基于Java中UDP的广播形式(实例讲解)

2019年07月19日  | 移动技术网IT编程  | 我要评论

网游之大神扛回家,下堂妃值千金,568网址导航

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.net.datagrampacket;
import java.net.datagramsocket;
import java.net.inetaddress;
import java.net.socketexception;
import java.net.unknownhostexception;

public class udp_client {
 public static void main(string[] args) throws ioexception {
 //1.创建对象
 //构造数据报套接字并将其绑定到本地主机上任何可用的端口。
 datagramsocket socket = new datagramsocket();
 //2.打包
 byte[] arr = "客户端:哈哈。。。。".getbytes();
 //四个参数: 包的数据 包的长度 主机对象 端口号   
 datagrampacket packet = new datagrampacket
  (arr, arr.length,inetaddress.getbyname("10.0.122.255") , 4000);
 
 //3.发送
 socket.send(packet);
 
 //4.关闭资源
 socket.close();
 }
 
}

服务器端(接收端):

import java.io.ioexception;
import java.net.datagrampacket;
import java.net.datagramsocket;
import java.net.socketexception;
import java.util.arrays;


public class udp_server {
 public static void main(string[] args) throws ioexception {
 //1
 datagramsocket serversocket = new datagramsocket(4000);
 //2
 byte[] arr = new byte[1024];
 datagrampacket packet = new datagrampacket(arr, arr.length);
 
 //3 当程序运行起来之后,receive方法会一直处于监听状态
 serversocket.receive(packet);
 //从包中将数据取出
 byte[] arr1 = packet.getdata();
 system.out.println(new string(arr1));
 
 //4
 serversocket.close();
 }
}

结果:

前三个网段是 10.0.122的所有主机上的端口号为4000的服务器端,只要开着,都可以接收到 ---

客户端:哈哈。。。。

以上这篇基于java中udp的广播形式(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网