Java网络编程

      最后更新:2021-10-13 17:24:07 手机定位技术交流文章

      计算机网络

      它是一个计算机系统,通过通讯线路将若干在各地独立执行任务的计算机及其外部设备连接起来,从而能够在网络操作系统、网络管理软件和网络通信协议的控制和协调下进行资源共享和信息传输,其中包括局域网和广域网。

      网络模型

      网络模型一般是指
      OSI(开放系统互联连接)参考模型
      TCP/IPP参考模式
      在连接网络的各种计算机上运行的程序之间的数据交换称为网络程序。
      网络模型是对计算机网络之间通信所使用规则的研究。
      在这里插入图片描述

      客户/服务员(服务员/服务员)模式

      • 为使两台计算机相互交流,它们必须通过网络线路连接。
      • 服务器是提供数据的计算机或应用程序。
      • “客户”一词是指寻求信息的计算机或软件。
      • 网络连接服务器和客户机,使它们能够相互交流。
      在这里插入图片描述

      TCP/IPP的想法和执行

      TCP/IP: 传送控制议定书/因特网议定书的缩略语。 TCP是传送控制议定书的缩略语,它确保了两个应用之间的可靠联系。

      三次通过TCP握手

      所谓的“三握手”是讨论如何测量每次传送的数据数量,以同步发送和接收数据段,根据收到的数据数量和数据发送时间计算数据确认数量,以及在收到数据后当链接被撤回时,以及如何测量每次传送的数据数量,以同步发送和接收数据段,根据收到的数据数量和数据发送时间确定数据确认数量,以及接收数据后何时撤回链接,以及确定连接。
      连接建立后,客户端向服务器发送同步软件包(syn=j),并在服务器确认前进入 SYN_SENT状态。
      SYN: 同步序列号(安全号) 。
      当服务器进入 SYN_RECV 状态时, 它会获得同步软件包, 并且必须验证客户端的 SYN (ack=j+1) 并发送 SYN 软件包( seq=k) 或 SYN+ACK 软件包 。
      第三手握:客户端获得服务器的 SYN+ACK 软件包, 发送确认包 ACK (ack=k+1), 软件包发出, 客户端和服务器输入 ETABLISHED (TCP 成功连接) 状态, 三个手握已完成 。
      在第三次握手之后,客户端和服务器开始发送数据。
      在这里插入图片描述

      TCP编程

      一个插座是一个基于TCP的通讯装置,连接两台电脑。
      客户端打开套接字并尝试连接到服务器 。
      连接建立后, 服务器生成一个 Socket 对象, 客户端和服务器现在可以访问合适的资源 。
      要进行通信,套接字对象将被写入并读取。
      ► 服务端:
      创建客户端并在端口上监听 。

      获取客户端对象

      ► 客户端:
      构建客户端套接字服务, 并将 IP 地址和端口号作为创建函数的参数 。

      UDP的概念和实现

      UDP(用户数据表协议):UDP是用户数据报告协议的缩略语,这是一个没有连接的协议,提供程序之间传输的数据集。
      用户数据包协议(UDP)是另一种基于网络的信息传输,其中基于UDP的通信不同于基于TCP的通信,因为基于UDP的信息传送更快,但不能提供可靠的保证。

      UDP编程

      发送端:
      建立 udp 服务; 如果发件人不提供端口, 自动指定一个端口 。
      DatagramSocket ds = new DatagramSocket();
      定义数据的内容并将其封装在包件中。
      "嘿 乌德普 我在路上了" Bytes (); Get Bytes (); Get Bytes (); Get Bytes (); Get
      将数据、IP和端口信封加载到数据包中。
      DatagramPacket db = new
      DatagramPacket(bt,bt.length,InetAddress.getByName(“192.168.1.105”),10000);
      通过 dup'socket 服务函数 ds.Send(db) 发送数据包;
      接收者: 创建一个在端口收听的套接字服务 。
      DatagramSocket ds = new DatagramSocket(10000);
      创建了数据包以保存提供的数据 。
      byte[] bt = new byte[1024];
      要接受数据, 此方法创建数据包对象 。
      DatagramPacket dp = new
      DatagramPacket(bt,bt.length);
      使用套接字服务的内存方法,将接受的数据保存在数据包中。
      ds.receive(dp);
      数据包对象可用于检索软件包的内容。
      byte[] data = dp.getData();
      String ip = dp.getAddress().getHostAddress();
      int port = dp.getPort();

      TCP和UDP的区别

      TCP:
      1- TCP 要求连接协议的连接时间,这些协议要求在插座之间数据传输之前有一个连接。
      2 TCP发送的数据没有尺寸限制,一旦连接确定,双方的口袋可以一致地传送大量数据。
      3 TCP是一项可靠的协议,保证收件人能够完整和正确地查阅发件人提供的所有数据。
      UDP:
      1 因为每份数据报告都有完整的地址信息,所以没有必要在发送者和接收者之间建立关系。
      2 联合民主党的转让规模有限,每个传送的数据报告必须限于64千兆B。
      3 UDP是一个不可信的协议,发件人提供的数据报告并不总是以同样的顺序送达接收者。

      TCP和UDP之间最重要的区别是,需要客户与服务的连接,以便进行数据传输。

      聊天室

      服务器处理线程

      客户端处理线程

      服务器

      客户端

      效果

      在这里插入图片描述

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

          热门文章

          文章分类