IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Java中的网络编程 -> 正文阅读

[网络协议]Java中的网络编程

1.什么是网络?

? ? ? ? 在计算机领域中网络是信息传输,接受,共享的虚拟平台,通过它把各个点,面,体联系到一起,从而实现这些资源的共享。

? ? ? ? 作用:信息传输,资源共享

? ? ? ? 优点:资源共享免费

2.OSI七层参考模型和TCP/IP四层参考模型

? ? ? ? 计算机网络是指由通信线路互相链接的许多自主工作的计算机构成的集合体,各个部件之间以何种规则进行通信,就是网络模型研究的问题。

? ? ? ? 网络模型一般是指OSI七层参考模型和TCO/IP四层参考模型。这两个模型在网络应用最为广泛

? ? ? ? OSI七层参考模型:应用层/表示层/会话层/传输层/网络层/数据链路层/物理层

? ? ? ? TCO/IP四层参考模型:应用层、传输层、IP层【网际层】、网络接口层【网络连入层】

3.计算机网络四要素

? ? ? ? 1.IP地址

? ? ? ? ? ? ? ? 处于网络中的通信设备(电脑、手机、电视等),都会分配一个ip地址

? ? ? ? ? ? ? ? 这些设备在通信之前,首先要通过通信设备的网卡接入到网络中

? ? ? ? ? ? ? ? 而这个网卡属于一个硬件,并且所有的网卡在出厂的时候,都有一个固定的网卡地址,并且这个网卡地址(MAC地址)全球唯一。

????????查看网卡地址(MAC地址)

? ? ? ? ? ? ? ? 1.在命令提示行窗口中输入ipconfig/all可以查询ip(MAC地址)相关的详细信息

? ? ? ? ? ? ? ? 2.linux操作系统使用ifconfig可以查询ip(MAC地址)相关的详细信息

? ? ? ? 固定的网卡地址(MAC地址)与IP地址的关系

? ? ? ? 例如:固定的网卡地址(MAC地址)--F8-89-D2-82-A9-E1

? ? ? ? ? ? ? ? ? ?ip地址---------------------------------192.168.0.125

? ? ? ? 所有的网卡都有一个唯一的物理地址,但是这个地址非常的不好记,于是给每个网卡又分了一个逻辑(IP)地址。这个逻辑地址就是ip地址。通信的过程中,就可以根据这个逻辑地址找到处于网络中的这台设备。

? ? ? ? IP地址也是对处于网络中的某个通信终端的标识

? ? ? ? IP地址与域名的关系

? ? ? ? 由于IP地址也不容易记忆,因为又给每个ip绑定了一个名称,这个名称被称为(域名)

? ? ? ? 【F8-89-D2-82-A9-E1】----------192.168.0.125-----https://www.baidu.com/[域名]

? ? ? ? 本机默认的ip地址是127.0.0.1;它有一个对应的默认的域名localhost

2.DNS服务器【域名解析服务器】

? ? ? ? 域名解析有2种:

? ? ? ? 1.本地解析:

? ? ? ? ? ? ? ? 在我们的操作系统中,有一个hosts文件,当输入域名之后,首先会在hosts文件中和找有没有当前的域名对应的ip地址,有就会使用这个ip地址“C:\Windows\System32\drivers\etc\hosts”

? ? ? ? 2.DNS服务器解析

? ? ? ? ? ? ? ? 如果第一步解析失败了,会到网络中的DNS服务器上进行解析。DNS服务器中会将全球所有的域名和ip设置在其中。如果DNS服务器解析失败,说明当前的域名是有问题的

? ? ? ? 3.协议

? ? ? ? ? ? ? ? 协议:通信双方通信的时候需要遵守的通信的规则

? ? ? ? ? ? ? ? 后期我们会遇到很多协议(高级协议,应用协议:http、ftp、https)。

? ? ? ? ? ? ? ? 我们在java中网络编程介绍的协议属于底层协议[TCP/UDP],所有的高级协议都是基于底层协议

? ? ? ? 4.端口

? ? ? ? ? ? ? ? 我们通过ip可以找到网络中具体那个通信终端的设备。而具体需要访问这个设备中的哪个资源(软件)信息,这时由于设备中运行的资源(软件)肯定很多,这时每个资源(软件)必须再给一个唯一的编号(标识)。通过这个标识才能保证我们可以没有错误的访问到指定ip地址的具体哪个资源(软件)上。

? ? ? ? ? ? ? ? 端口:是一台设备(电脑,手机等)上某个应用程序的唯一标识。设备中运行的任何一个软件,正要启动,就肯定会有一个唯一的编号与其整个软件的绑定

? ? ? ? ? ? ? ? 端口从0开始到65535之间。0到1024之间的端口数字已经很分配给本机的操作系统的应用城西占用,因此后期我们书写程序如果需要绑定端口,这时必须大于1024.

? ? ? ? ? ? ? ? 端口其实就是进入本台计算机时,访问本台计算机所运行的程序入口。

4.InetAddress类的使用?

? ? ? ? java.net包类InetAddrss 此类表示互联网协议(IP)地址。

? ? ? ?public class InetAddress implements java.io.Serializable

? ? ? ? InetAddress类的构造方法

? ? ? ? 缺省修饰符? ?InerAddress(){}

? ? ? ? 我们在自己的Java程序中是不能通过new+构造方法的方式创建出InetAddress类对象

? ? ? ? 我们就需要使用下面这两个静态方法来得到InerAddress类对象

? ? ? ? static? ? ? ? InetAddress? getLocalHost()返回包含有本机IP地址的InetAddress对象

? ? ? ? static? ? ? ? InetAddress? getByName(String host)根据域名得到包含有该域名对应的ip地址的InetAddress对象

? ? ? ? 实例方法:

? ? ? ? String? ? ? ? getHostAddress()返回IP地址字符串(以文本表现形式)。

? ? ? ? String? ? ? ? getHostName()获取此IP地址的主机名。

例如:

package com.test1;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class TestMain {

	public static void main(String[] args) throws UnknownHostException {
		/*InetAddress ia=InetAddress.getLocalHost();
		System.out.println(ia.getHostAddress());
		System.out.println(ia.getHostName());*/
		InetAddress ia=InetAddress.getByName("www.baidu.com");
		System.out.println(ia.getHostAddress());
		System.out.println(ia.getHostName());
	}

}

5.URL与URI区别?

? ? ? ? URI,统一资源标识符(Uniform Resource Identifier,URI)表示的是web上每一中可用的资源,如HTML文档,图像,视频片段,程序等都由一个URI进行标识的。

? ? ? ? URI通常由三部分组成:

? ? ? ? (1).资源的命名机制;(2).存放资源的主机名;(3).资源自身的名称

? ? ? ? URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位符”。

? ? ? ? 采用URL可以用一种统一的格式来描述各种信息资源,包括文件,服务器的地址和目录等。

? ? ? ? URL是URI概念的一种实现方法

? ? ? ? URL的格式由三部分组成:

? ? ? ? (1).第一部分是协议(或称为服务方式)。

? ? ? ? (2).第二部分是存有该资源的主机IP地址(有时也包括端口号)。

? ? ? ? (3).第三部分是主机资源的具体地址,如目录和文件名等。

? ? ? ? 第一部分和第二部分用"://"符号隔开,第二部分和第三部分用"/"符号隔开

? ? ? ? 第一部分和第二部分是不可缺少的,第三部分有时可以省略。

? ? ? ? 例如:https://www.baidu.com/index.html---资源访问地址

? ? ? ? 从上面的例子来看,你可能觉得URI和URL是相同的概念,其实并不是,URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。

6.Java中的URL类【访问网络资源】

? ? ? ? URL类的构造方法

? ? ? ? URL(String spex) 从String表示形成一个URL对象

? ? ? ? URL(Sring protocol,String host,int prot,String file)创建URL从指定对象?protocol,host,port数,和file 。

? ? ? ? 实例方法

? ? ? ? URLConnection? ? ? ? ?openConnection()返回一个URLConnection实例,表示与URL引用的远程对象的URL。

? ? ? ? InputStream? ? ? ? ?openStream()打开与此URL,并返回一个InputStream,以便从该链接读取。

例如:

package com.test1;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

public class TestMain2 {
	public static void main(String []args) throws IOException{
		String path="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp05%2F19100120461512E-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640939181&t=e13782b2aac42f45ae97d765f75deae9";
		//创建URL对象
		URL url=new URL(path);
		//创建输入流
		InputStream in=url.openStream();
		//保存读取来的具体数据的字节数组
		byte data[]=new byte[1024];
		//保存读取来的具体字节数
		int temp=0;
		File file=new File("E:"+File.separator+"test1.jpg");
		FileOutputStream fileout=new FileOutputStream(file);		
		//读取数据
		while((temp=in.read(data))!=-1){
			fileout.write(data, 0, temp);
		}
		in.close();
		fileout.close();
		}

}

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:07:55  更:2021-12-02 17:09:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/6 6:38:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码