Java Socket通信之UDP协议

      最后更新:2022-03-19 11:51:48 手机定位技术交流文章

      文章目录

        • 一. 网络方案的具体内容是什么?
        • 二. 套套插座
          • 流套接字
          • 数据报套接字
          • 原始套接字
        • 三. 爪哇州数据订阅通信模式
          • 一. UDP插座模型
          • 2. 常见的API
            • DatagramSocket API
            • DatagramPacket API
            • InetSocketAddress API
        • 四. 联合DP数据编目方案
          • 1. 回显服务器
          • 2.查字典服务器

      一. 网络方案的具体内容是什么?

      网络编程:指网络的主机,该主机通过各种程序(数据通信基本上是网络数据传输)编程,目的是获取网络资源。
      我们如何理解这一点?我们只需记住,有不同的过程。即使在同一主机上,不同过程的数据传输也被称为网络编程。但应当强调,一个过程收集资源,而其他供应资源则需要分开,以记住有不同的过程。即使在同一主机上,不同过程的数据传输也被称为网络编程。但应该指出,一个过程获取资源,而另一个过程则提供资源。

      发件人和接收人(当网络数据传输产生数据流时,传输和接收只是相对条件)
      发送端:源主机
      接收端:目的主机
      发送者可发送或接收数据。

      请求和响应
      一般来说,获取网络资源需要两个网络数据传输:一个是请求发送数据,另一个是对数据发送作出答复。
      例如,在主机A将电文传送给主机B之前,请主机B连接到主机B(同意创建连接)。

      客户端和服务端
      提供服务方称为服务结束。
      客户: 获取服务资源并将这些资源储存在服务端。
      看看这个老栗子 在银行做生意
      银行提供存款服务,使用户(客户)能够节省银行(服务结束)的资源(现金)。
      银行交付服务包括用户(客户)获得服务终端资源(银行代表用户持有的现金)。

      共同客户服务模式模式
      核心流程:
      1Cliet 向服务器发送请求
      2 服务器应请求及时进行业务处理。
      3 服务器响应,将业务运作结果转发给客户。
      4Cliet根据答复数据显示治疗结果(显示现有资源/节省资源)。

      二. 套套插座

      Socket Socket:网络通信技术;我们经常利用Socket开发网络方案,即网络方案拟订
      它侧重于传输层协议,分为三类:流流、数据覆盖和原始包件。

      流套接字

      传输层使用TCP协议。
      TCP是传输控制协议的缩略语,这是一个传输层协议。
      TCP具有以下特点:

      • 它被连接(例如,您必须先拨打连接) 。
      • 依赖性传输(传送以查看另一方是否收到)
      • 字节流(数据传输以 IO 流为基础, 当 IO 流不关闭时没有边界, 它可能被多次传送和接收), 字节是基本单位, 文件在字节流上读写 。
      • 有一个接收缓冲带和一个发送缓冲带。
      • 大小不受限制
      • 全职复职(A和B可同时读写)

      数据报套接字

      在传输层使用UDP协议。
      UDP:即基于用户数据表协议(用户数据报告协议)的传输层协议。
      民主联盟具有以下特点:

      • 没有关系(例如,无法在 %s 上建立文件夹锁定:%s 。)
      • 不可靠的传播(UDP最佳交付努力,即不能保证及时交付)
      • 数据报告(传输数据是数据报告的一个部分,如果数据电文传输100字节,则必须一次发送一个字节,一次收到100字节,而不是一次收到100字节。我不知道我在说什么。
      • 没有收到缓冲区,也没有转交缓冲区。
      • 每个传输的大小限制为64公里。
      • 全双工

      原始套接字

      这不是我们的观点。原始的软件包用于为不受内核处理的IP协议数据定制传输层协议。
      在整个访谈过程中提出的关切包括TCP和UDP之间的区别。
      TCP对UDP-有什么区别?
      1有一个独特的标题,两个不同的方法和三个不同的特点。

      三. 爪哇州数据订阅通信模式

      一. UDP插座模型

      操作系统包括各种网络编程任务(例如用于访问网络核心/网络驱动器的有形设备),并向开发者提供一套API。
      在《联合民主党条约》的例子中,它具有面向数据、互不相干的特点。换句话说,当没有连接时,只要没有连接。所有数据报告都同时提交,并同时得到核准。Java使用《联合民主党议定书》通讯。这样做的主要目的是围绕数据套件类建立一个数据包。此外,还使用数据组包来界定所传送或收到的数据报告。(一个套接字对象由数据组套接字类描述 。)文件描述符至关重要。这篇文章是全球之声在线特稿的一部分。无法获取文件夹“%s”:%s
      对一个服务端来说,支持多客户请求的处理和回应至关重要,具体如下:
      在这里插入图片描述

      2. 常见的API

      DatagramSocket API

      DatagramSocket 是一个用于发送和接收 UDP 数据报告的 UDP Socket 。
      构建数据组的方法:

      方法 说明
      DatagramSocket() 创建一个可以连接到主机上任意端口的 UDP 数据套接字套(客户不需要端口号) 。
      DatagramSocket(int port) 创建 UDP 数据套件 Socket 并将其连接到此计算机定义的端口( 服务器) 。

      方法数据套件 :

      方法 说明
      void receive(DatagramPacket p) Socket 接收数据报告(如果没有收到数据,该方法将阻挡等待;如果收到数据,将交付数据组包装对象)
      void send(DatagramPacketp) Socket 传输数据包( 不要阻挡等待, 只要发送)
      void close() 关闭此数据包( UDP 中的 Socket loancee 周期跟随整个进程, 关闭() 功能不那么重要, 如果进程完成, 相关资源将被释放 ) 。

      DatagramPacket API

      Adatagram Packet是一个通过UDP连接传输和接收的数据报告。
      构建数据阵列的方法:

      方法 说明
      DatagramPacket(byte[] buf, int length) 创建数据组包以接收数据报告、字节数组中的数据(第一个参数bf)和给定长度(第二个参数长度)的数据。
      DatagramPacket(byte[] buf, int offset, int length,SocketAddress address) a 构建数据组包,将数据从 0 传送到给定长度(第二个参数的值) 至字节数组(第一个参数的框)。 地址提供目标主机的 IP 和端口号 。

      数据表包方法 :

      方法 说明
      InetAddress getAddress() 从收到的数据报告中确定发件人的主机IP地址;或从发送的数据报告中确定收件人的主机IP地址。
      int getPort() 从发件人的主机接收数据报告或发送数据报告从接收客户的端口号获取端口号。
      byte[] getData() 获取数据报中的数据

      将 UDP 数据报告构建为输入 Socket 地址, 该对象可用 InnetSocket 地址构建 。

      InetSocketAddress API

      以下是InnetSocketAddress(SocketAddress子类)的创建技术:

      方法 说明
      InetSocketAddress(InetAddress addr, int port) 使用 IP 地址和端口号创建套接字地址 。

      四. 联合DP数据编目方案

      以下是两个小块块, 突显UDP通讯的商业原理。让我们试一试。

      1. 回显服务器

      反射服务器:一个网络通信进程,实际上就是一台主机。
      回声服务器的第三部分与客户的要求和客户回报的答案相同!
      在这里插入图片描述
      服务器代码:

      客户端代码:

      2.查字典服务器

      服务器代码:

      客户端代码:

      内心深处!

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20424.html

          热门文章

          文章分类