Javase8 网络编程

      最后更新:2022-07-14 18:10:52 手机定位技术交流文章

      目录

      一句话描述:

      网络编程的核心问题

      网络编程概述

      网络模型

      网络通信要素

      TCP

      UDP

      TCP编程

      UDP编程

      一句话描述:

      计算机网络:分布在不同区域的计算机,具有独立的功能,可以通过通信线连接,可以执行资源转移和共享功能。

      网络编程:使用计算机语言开发软件,允许软件通过网络交换数据,Java语言支持网络通信。

      网络编程的核心问题

      准确确定计算机网络中的目标主机:IP+端口号码

      计算机IP地址:ipv4,ipv6端口:相应的计算机上的进程

      如何在找到数据后进行安全可靠的传输:协议

      协议: 就传输速度 、 代码结构 ( 消息 ) 、 错误解决等 达成 协议 。

      正文开始啦!!!

      网络编程概述

      Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。
      ***Java提供的网络类库,可以实现网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。
      ** 网络编程的目的:
      通过网络协议直接或间接与其他计算机进行通信。
      **网络编程有两个主要问题:
      如何准确地定位一个或多个网络主机
      了解如何在主机后可靠有效地传输数据.

      网络模型

      网络通信要素

      网络通信元件:IP、端口号码、通信协议
      IP 地址( Internet Protocol Address )指互联网协议地址,并译为互联网协议地址。 网络中的计算机使用 IP 地址来进行唯一标识 .
      在Windows上,打开cmd,输入ipconfig命令,然后按返回按钮查看。
      本地回环地址(hostAddress):127.0.0.1 ,它代表设备的本地虚拟接口。
      端口号是计算机中的应用程序的整数,它被用来区分不同的应用。系统未使用或保留的0~1024端数,0~65535是有效的端口号码,也就是说,当我们定义某些程序的端口数时,在1024~65535范围内选择整数.
      例如,以前学习的MySQL的端口编号是3306,SQLServer的端口编号是1433,检查的Oracle的端口编号是1521。
      网络通信协议在计算机网络中实现通信,必须有协议,即通信协议以建立速度、传输代码、代码结构、传输控制步骤、误差控制等标准。
      传输层协议有两个非常重要的协议:
      传输控制协议TCP(Transmission Control Protocol)
      用户数据报协议UDP(User Datagram Protocol

      TCP

      在使用TCP协议之前,您必须首先建立一个TCP连接以形成数据通道
      传输前,采用“ 三次握手 ”方式,是可靠的
      TCP协议通信的两个应用程序过程:客户端和服务端
      大量数据可以在连接中传输
      当传输完成时,您需要释放已建立的连接,低效率
      在断开时要进行 “四次挥手”
      三次握手:
      四次挥手:
      如果你不明白,你该怎么办? 只要看看三振四波

      UDP

      无需创建连接的包数据、源和目标
      每个数据报告的大小仅限于 64K
      这是不可靠的,因为没有连接
      不需要在发送数据时释放资源,快速

      TCP编程

      利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实上的标准。
      通信的两端必须有一个插座,这是两台机器之间的通信的终点
      网络通信实际上是接口之间的通信.
      插座允许程序作为流连接网络,并且数据通过IO在两个插座之间传输。

      *-*-*客户端索克的工作流程包括以下四个基本步骤:
      创建插座: 基于指定服务端的IP地址或端口号构建索克类对象。 如果服务
      服务器响应建立客户端到服务器的通信线。 如果连接失败,则会发生例外。
      打开与插座连接的输入/输出:
      getInputStream()方法获取输入流,
      使用getOutputStream()方法获取输出流来传输数据
      根据某些协议在索克上执行读写操作: 通过输入流读取将服务器置于行中
      信息(但不能读入线内的信息)通过输出流被写入线程中。

      关闭插座: 将客户端从服务器中切断并释放线

      代码案例,孩子们可以看到如何使用一些方法,如何在红色字体上方看IP地址的指示哦

      *-*-*客户端程序可以使用索克类创建对象, 在创建时自动发送到服务器
      起连接 .插座的施工方法是:
      Socket(String host,int port)throws
      未知 HostException, IOException: 向服务器(域名为 host.Port ):
      (port)启动TCP连接,如果成功,创建一个 Socket对象,否则会抛出例外。
      Socket(InetAddress地址,int port)throws IOException:基于
      由InetAddress对象指定的IP地址和端口端口启动连接。
      *-*-*服务器程序的工作过程包括以下四个基本步骤:
      调用 ServerSocket(int port) :创建一个服务器端套接字,并绑定到指定端
      倾听客户的要求。
      呼叫接受:听连接请求,如果客户端请求连接,接受连接,并返回通信
      套接字对象。
      调用索克类对象 getOutputStream() 和 getInputStream(): get
      输出和输入流开始发送和接收网络数据。

      关闭ServerSocket和Socket对象:客户端访问结束,关闭通信套接字。

      s.关闭通道

      *-*-*服务器建立服务器接口对象
      ServerSocket对象负责等待客户端请求创建一个接口连接,类似于邮件框窗口中的接口连接
      业务员。也就是说, 服务器必须预先设置一个等待客户端请求,以建立一个接口连接
      服务器索克对象。
      所谓“接收”客户的套接字请求,就是accept()方法会返回一个 Socket 对象。
      上面一样哦,有点不同

      UDP编程

      *-*-* DatagramSocket和DatagramPacket类实现基于UDP协议的网络程序。
      UDP数据报告通过DatagramSocket传输和接收,这并不保证UDP
      数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。
      DatagramPacket对象包含UDP数据消息,并包含数据消息中的发送者IP地址
      以及接收机的IP地址和端口号码。
      UDP协议中的每个数据消息都提供完整的地址信息,因此不需要设置发送者和接收者
      的连接

      流 程:

      1.DatagramSocket和DatagramPacket
      2.建立传送器、接收器
      3. 建立数据报
      4.调用接口的发送和接收方法
      5.关闭插座
      提示:发送者和接收者是两个单独运行的程序
      代码展示:

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

          热门文章

          文章分类