​Java基础复习笔记 第16章:网络编程

news/2024/7/1 4:03:35

1. 网络编程概述

1. 要想实现网络通信,需要解决的三个问题:
- 问题1:如何准确地定位网络上一台或多台主机
- 问题2:如何定位主机上的特定的应用
- 问题3:找到主机后,如何可靠、高效地进行数据传输


2. 实现网络传输的三个要素:(对应解决三个问题)
> 通信要素1:IP地址。对应着解决定位网络上主机的问题
> 通信要素2:端口号。区分同一台主机上的不同进程。
> 通信要素3:通信协议。规范通信的规则,进而实现可靠、高效地进行数据传输

2. 要素1:InetAddress类的使用

1. 作用:准确地定位网络上一台或多台主机


2. IP地址分类
> IP地址分类方式1 :IPv4 和 IPv6

> IP地址分类方式2:公网地址( 万维网使用)和 私有地址( 局域网使用)
      > 192.168.开头的就是私有地址

3. 本地回路地址:127.0.0.1  --->  localhost

4. 域名:  www.atguigu.com    www.baidu.com   www.jd.com
          www.mi.com   www.vip.com
          
5. InetAddress的使用
5.1 作用:InetAddress类的一个实例表示一个具体的ip地址。


5.2 实例化方式与常用方法
> 实例化:getByName(String host) / getLocalHost()
> 方法:getHostName() / getHostAddress()          

3. 要素2:端口号

> 唯一标识设备中的进程(应用程序)
> 不同的进程,需要使用不同的端口号
> 用两个字节表示的整数,它的取值范围是0~65535

4. 要素3:网络通信协议

1. 网络通信协议的目的:实现双方可靠、高效的数据传输。


2. 网络参考模型
> OSI参考模型(7层,过于理想化)
> TCP/IP参考模型
    > 应用层:HTTP、FTP
    > 传输层:TCP、UDP
    > 网络层:IP
    > 物理+数据链路层

5. TCP网络编程、UDP网络编程

  • TCP、UDP的对比
  • 熟悉:TCP的三次握手、四次挥手。
  • 例题
    • 例题1:客户端发送内容给服务端,服务端将内容打印到控制台上。

    • 例题2:客户端发送文件给服务端,服务端将文件保存在本地。

    • 例题3:从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给客户端。并关闭相应的连接。

6. URL网络编程

URL(Uniform Resource Locator):
1. 作用:
统一资源定位符,它表示 Internet 上某一资源的地址。

2. URL的格式:
http://127.0.0.1:8080/examples/ym.png
应用层协议  ip地址  端口号  资源地址

3. URL类的实例化及常用方法


4. 下载指定的URL的资源到本地(了解)

http://lihuaxi.xjx100.cn/news/2173557.html

相关文章

对北京新发地当时菜品三十天内价格分布式爬取(1)---(获取当时菜品数据并构建请求数据推入redis)

本次项目网页url 北京新发地: http://www.xinfadi.com.cn/priceDetail.html 我们首先创建一个爬虫用于收集url与请求的data然后b,c,d使用RedisCrawlSpider来对数据进行分布式爬取 在此篇中我们仅介绍爬虫a 一.获取当天所有菜品数据 这是一条请求的负载我们只需要对pubDateSta…

2024年物理化学与工程技术发展国际会议(ICPCETD 2024)

全称:2024年物理化学与工程技术发展国际会议(ICPCETD 2024) 会议网址:http://www.icpcetd.com 会议时间: 2024.06.30 截稿时间:2024.06.21 会议地点: 上海 投稿邮箱:icpcetd_info163.com 投稿标题:ArticleT…

QT 自定义协议TCP传输文件

后面附带实例的下载地址 一、将文件看做是由:文件头+文件内容组成,其中文件头包含文件的一些信息:文件名称、文件大小等。 二、文件头单独发送,文件内容切块发送。 三、每次发送信息格式:发送内容大小、发送内容类型(文件头或是文件块内容)、文件块内容。 四、效果展…

uniapp - 文章模块页面

在上一篇文章中,创建了一个空白的文章模块页面。在这一篇文章,让我们来向页面中填充内容。 目录 页面效果涉及uniapp组件1.view2.swiper3.scroll-view4.属性解读1) class"style1 style2 .."2) circular单属性无赋值3) :autoplay"autoplay…

抖店怎么选品?抖店爆款选品思路技巧,新手直接用!

大家好,我是电商花花。 抖店选品永远是我们做抖店,做电商的核心,店铺想要出单,想要赚钱,我们就一定要学会怎么选品,怎么筛选商品。 而我们绝大多数新手并没有办法保证持续选爆款的能力,如果店…

VsCode创建Python虚拟环境

不同的项目,大多使用不同的版本与包,为每个项目创建不同的环境,可以防止版本等的不同而带来的影响。 Python自3.3版本之后,官方自带了用于创建虚拟环境的venv模块,以下将介绍venv模块在Python虚拟环境的用法。 1.安装相…

Ajax都有哪些优点和缺点?

AJAX(Asynchronous JavaScript and XML)是一种使用多项技术的Web开发技术,它允许通过异步请求与服务器交换数据,而无需刷新整个页面。这种技术可以显著提高Web应用程序的性能和用户体验。以下是AJAX的主要优点和缺点: …

Java如何将tif格式图片转为jpg格式图片

在Java中,将TIFF(.tif)格式的图片转换为JPEG(.jpg)格式的图片,通常需要使用图像处理库,如Apache Commons Imaging(之前称为Sanselan)或Java Advanced Imaging (JAI)。但是…