广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >详细介绍java UDP通信
  • 803
分享到

详细介绍java UDP通信

java教程javaUDP通信 2016-02-03 12:02:02 803人浏览 无得
摘要

介绍:UDP为用户数据报协议,在java中操纵UDP使用jdk中java.net包下的DatagramSocket和DatagramPacket类,可以方便的控制用户数据报文。DatagramPacket类将数据字节填充到UDP包中,这称为

介绍:

UDP为用户数据报协议,在java中操纵UDP使用jdkjava.net包下的DatagramSocketDatagramPacket类,可以方便的控制用户数据报文。

DatagramPacket类将数据字节填充到UDP包中,这称为数据报。

DatagramSocket用来发送这个包。如果接受数据,可以从DatagramSocket中接受一个 DatagramPack对象,然后从该包中读取数据的内容。

UDP是面向无连接的单工通信,它速度快。

在线视频教程推荐:java在线视频

1、 DatagramSocket类

构造函数:

DatagramSocket()

创建实例,通常用于客户端编程,他并没有特定的监听端口,仅仅使用一个临时的。

DatagramSocket(int port)

创建实例,并固定监听Port端口的报文。

DatagramSocket(int port, InetAddress laddr)

这是个非常有用的构建器,当一台机器拥有多于一个IP地址的时候,由它创建的实例仅仅接收来自LocalAddr的报文。

DatagramSocket(SocketAddress bindaddr)

bindaddr对象中指定了端口和地址。

常用函数:

receive(DatagramPacket p)

接收数据报文到p中。receive方法是阻塞的,如果没有接收到数据报包的话就会阻塞在哪里。

send(DatagramPacket p)

发送报文p到目的地。

setSoTimeout(int timeout)

设置超时时间,单位为毫秒。

close()

关闭DatagramSocket。在应用程序退出的时候,通常会主动的释放资源,关闭Socket,但是由于异常的退出可能造成资源无法回收。所以应该在程序完成的时候,主动使用此方法关闭Socket,或在捕获到异常后关闭Socket。

2、 DatagramPacket类

DatagramPacket类用于处理报文,将字节数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成字节数组。
构造函数:

DatagramPacket(byte[] buf, int length, InetAddress addr, int port)

从buf字节数组中取出offset开始的、length长的数据创建数据对象,目标地址是addr,目标端口是port。

DatagramPacket(byte buf[], int offset, int length, SocketAddress address)

从buf字节数组中取出offset开始的、length长的数据创建数据对象,目标地址是address

常用函数:

getData() byte[]

从实例中取得报文中的字节数组编码。

setData(byte[] buf, int offset, int length)

设置数据报包中的数据内容

3、UDP通信的通信流程

UDP发送端:

建立updsocket服务。

提供数据,并将数据封装到数据包中。

通过socket服务的发送功能,将数据包发出去。

关闭资源。

UDP接收端:

定义udpsocket服务,通常会监听一个端口。

定义一个数据包,存储接收到的字节数据。

通过socket服务的receive方法将收到的数据存入已定义好的数据包中。

通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上。

关闭资源。

更多相关问题请访问java文章教程:java入门

--结束END--

本文标题: 详细介绍java UDP通信

本文链接: https://www.lsjlt.com/news/3044.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详细介绍java UDP通信
    介绍:UDP为用户数据报协议,在java中操纵UDP使用JDK中java.net包下的DatagramSocket和DatagramPacket类,可以方便的控制用户数据报文。DatagramPacket类将数据字节填充到UDP包中,这称为...
    99+
    2016-02-03
    java教程 java UDP通信
  • python中进程间通信详细介绍
    目录进程间通信(IPC)管道通信(Pipe)1.通信原理2. 实现方法共享内存1.通信原理2.实现方法信号量(信号灯集)1.通信原理2. 实现方法3.代码演示进程间通信(IPC) 必...
    99+
    2022-11-12
  • C++通信新特性协程详细介绍
    目录一、关于协程二、协程的好处三、协程得用法四、与线程的区别五、协程示例一、关于协程 从 1.54.0 版本开始,Boost.Asio 支持协程。虽然您可以直接使用 Boost.Co...
    99+
    2022-11-13
    C++通信新特性协程 C++协程 C++通信特性
  • 【JAVA IO 详细介绍】
    JAVA IO 详细介绍 目录一、什么是IO?1.1 IO的介绍1.2 流的介绍1.2.1 流的特征1.2.2 数据流的特征1.2.3 输入流的特征1.2.4 输出流的特征 二、...
    99+
    2023-10-26
    java
  • Java maven详细介绍
    目录maven什么是maven仓库的种类仓库的配置本地仓库配置私服配置中央仓库配置maven标准目录结构常用命令maven项目的生命周期pom.xml依赖适用域总结maven 什么是...
    99+
    2022-11-12
  • Vue父子组件通信全面详细介绍
    目录1.Vue父子组件通信方式2.不同文件间的通信方式1 .父组件vue文件和子组件vue文件2 .父组件jsx文件和子组件vue文件3 .父组件vue文件和子组件jsx文件4 .父...
    99+
    2022-11-13
    vue的父子组件通信 vue父子组件通信例子
  • Java 方法(详细介绍)
    那么什么是方法呢?Java方法是语句的集合,它们在一起执行一个功能。 (推荐学习:java课程)方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点 使程序变得更...
    99+
    2017-06-19
    java教程 Java
  • java泛型详细介绍
    一. 泛型概念的提出(为什么需要泛型)?(推荐:java视频教程)首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args)...
    99+
    2019-06-24
    java基础 java
  • Java NIO的详细介绍
    这篇文章主要讲解了“Java NIO的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java NIO的详细介绍”吧!首先,我们需要弄清楚几个概念:同步和异步,阻塞和非阻塞。同步和异步...
    99+
    2023-06-16
  • 浅析Java getResource详细介绍
    在 Java 中访问资源我们一般使用 getResource() 方法,亦或者直接new File()然后传入一个文件路径获取资源文件。但是这两者究竟有什么区别呢?由于平常在使用的时...
    99+
    2022-11-12
  • Java操作Redis详细介绍
    1. 简介Redis 是一个开源(BSD许可)的,内存中的key-value存储系统,它可以用作数据库、缓存和消息中间件。2. 对key的操作首先要建立连接Jedis jedis = new Jedis("127.0.0.1", 6379)...
    99+
    2023-05-30
    java redis使用
  • Java中CompletableFuture 的详细介绍
    目录1.概述1.0 创建 CompletableFuture 的对象的工厂方法1.1 non-async 和 async 区别1.1.1 non-async 示例:注册 action...
    99+
    2022-11-13
  • java反射机制详细介绍
    一、什么是JAVA的反射机制(推荐:java视频教程)Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifie...
    99+
    2015-08-04
    java
  • Java 函数编程详细介绍
    目录一、函数编程Lambda1、接口二、Java函数接口1、Predicate2、Consumer3、Function4、Supplier三、类型检查1、Capturing Lamb...
    99+
    2022-11-12
  • Java中IO流的详细介绍
    这篇文章主要介绍“Java中IO流的详细介绍”,在日常操作中,相信很多人在Java中IO流的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中IO流的详细介绍”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • OAuth2 详细介绍!
    目录 一、文章介绍 二、OAth2 2.1 简介 2.2 OAuth2  授权总体流程 2.3 四种授权模式 1.授权码模式 2.简化模式 3.密码模式 4. 客户端模式 2.4 OAuth2 标准接口 2.5 GitHub 授权登录 1...
    99+
    2023-09-15
    github java
  • springMVC详细介绍
    目录springMVC简介SpringMVC框架的优点第一个SpringMVC程序第一步:创建maven-web项目第二步:在pom.xml中添加依赖和插件第三步注册中央调度器第四步...
    99+
    2022-11-12
  • DockerCompose详细介绍
    目录一、Docker Compose的安装二、Docker Compose的基本使用三、Docker Compose的高级功能四、总结一、Docker Compose的安装 Dock...
    99+
    2023-05-16
    Docker Compose详解 Docker Compose
  • Python 通过pip安装Django详细介绍
    Python 通过pip安装Django详细介绍 经过前面的 Python 包管理工具的学习,接下来我们就要基于前面的知识,来配置 Django 的开发与运行环境。 首先是安装 Django(通过pip安装...
    99+
    2022-06-04
    详细介绍 Python pip
  • Java对象与Java类的详细介绍
    本篇内容介绍了“Java对象与Java类的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录面向对象是什么Java类什么是类Java...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作