Java 基础入门 | 第十六章 Java网络编程

      最后更新:2022-02-21 10:17:04 手机定位技术交流文章

      目录

      网络相关概念

      网络协议

      网络编程

      TCP编程

      UDP编程

      URL编程

      网络相关概念

      什么是计算机网络

      • 局域网
      • 城域网
      • 广域网

      把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源
      计算机网络的主要功能

      • 资源共享
      • 信息传输与集中处理
      • 均衡负荷与分布处理
      • 综合信息服务 (www/综合业务数字网络 ISDN)

      IP地址:用于唯一识别连接到Internet上的计算机
      地址表示方式
      IPv4:点分10进制表示方式,四个整数用点分开,每个十进制数字代表一个8 bits整数,如192.168.123.1
      IPv6:点分16进制表示方式,八个整数用点分开,每个十六进制数字代表一个16bits整数,如CDCD:910A:2222:5498:8475:1111:3900:2020
      域名如www.sina.com.cn     DNS
      分布式的应用程序
      192.168.1.121   192.168.1.122  123
      本地IP
      127.0.0.1   等同于    localhost
      端口号
      0-65535之间

      网络协议

      网络模型与协议

      什么是网络通信协议
      计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传 输控制步骤、出错控制等制定标准。
      TCP协议是一个面向连接的、可靠的协议
      TCP(transmission control protocol)
      是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。
      UDP协议是一个不可靠的、无连接协议
      UDP(user datagram protocol )
      UDP向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。

      网络编程

      TCP编程

      TCP编程的核心类
      java.net.Socket
      java.net.ServerSocket
      TCP编程的核心思路
      开发服务器端


      开发客户端

      图示


      服务器端:

      • 创建ServerSocket对象(并绑定端口)
      • 调用accept方法,等待来自客户端的连接
      • 调用getXXXStream方法,进行I/O
      • 关闭Socket

      客户端:

      • 创建Socket对象,并连接服务器
      • 调用getXXXStream方法,进行I/O
      • 关闭Socket

      编写程序,实现客户端发送HelloWorld到服务器端的功能。
      服务端程序编写

      客户端程序编写

      注意:先启动服务端程序,后启动客户端程序 !

      编写程序,客户端向服务器端发送”How are you?Server”,服务器端向客户端发送”I am fine ! Thank you,client!”
      服务端代码

      客户端代码

      UDP编程

      UDP协议简介
      UDP是一个无连接,不可靠的协议。即:数据的发送方只负责将数据发送出去,数据的接受方只负责接受数据。发送方和接收方不会相互确认数据的传输是否成功。
      UDP编程

      • java.net.DatagramSocket
      • java.net.DatagramPacket   数据包

      UDP编程的核心思路

      • 服务器 DatagramSocket socket = new DatagramSocket(9000)
      • 客户端 DatagramSocket socket = new DatagramSocket()

      DatagramPacket

      • DatagramPacket(byte[] buf, int,length)
      • DatagramPacket(byte[] buf, int ,length, SoketAddress)
      • getAddress()/getSockAddress()/getPort()/getLength()
      • setAddress()/setSockAddress()/setPort()/setLength()

      使用UDP协议发送接收消息

      服务端程序编写

      客户端程序编写

      使用UDP协议互发互收消息

      服务端程序编写

      客户端程序编写

      URL编程

      URL概念
      统一资源定位符
      URL组成

      • 协议名 :// 主机名(或者IP地址): 端口号/资源
      • http://localhost:8080/web/a.jpg
      • http://www.oracle.com/index.html

      URL编程

      • URL
      • URLConnection

      URL编程思路

      • 创建URL对象
      • 调用URL对象的openConnection方法,获得URLConnection
      • 调用URLConnection方法的getInputStream,获得输入流,从而读取资源
      • I/O操作
      • 关闭I/O流

      代码示例


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

          热门文章

          文章分类