00:00
IO流这一章呢,咱们就讲完了,讲完以后的话呢,我们接着来看这个第16章叫做网络编程,然后呢,这两个章节的话呢,会有一定的相关度,那这个IO流呢,我们是跟本地的文件呢,进行的数据的传输,读或者写,那如果呢,这个数据呢,是在网络当中进行的传输,那对应的就是网络编程,或者说呢,叫网络通信,所以呢,就我们这一章的内容了。那这一的话呢,后续呢,咱们还会接触到这个,呃,前端,比如这个ACS,我相我们到讲B的时候呢,还会讲跟后台一个交互,这呢其实都是一个网络编程,网络通信呢,所以呢,这一章呢,在咱们基础阶段呢,不算是一个重要的章节。这一章的话呢,其实更多的是一些基本概念,大家呢去理解和熟悉,便于的话呢,我们再讲后续的这个Java web的这个内容。诶,所以这块的话呢,大家知道这一章的一个主要作用啊。好,首先的话呢,这块提到了一个概述的问题,说Java呢,是Internet上的一个语言,诶互联网上的一个语言了,他从语言级别上就提供了对网络应用程序的支持,成员呢,可以很容易的开发常见的网络应用。
01:10
诶,我们前面呢,讲Java的语言的时候呢,也提到过了,说Java一开始的时候呢,是想做一个,呃,像这个电视机的这种机顶盒这样一个语言了,结果后来呢,这个投标的时候呢,也没成功啊,借着这个互联网的兴起呢,说呢成为互联网上比较火的一门语言了。哎,互联网的这个一个兴起和呃,快速的这个席卷全球,应该也是在20世纪呢,就八九十年代这个时候啊,快速的兴起的啊。OK,那一提到这个互联网啊,就提到了相应的一些门户网站啊,这呢,就不得不提的像这个雅虎这样的公司了,诶大家呢,这个概念当中可能。对雅虎有概念吗?没什么啊,有的有是吧,有的话呢,一般年龄呢,稍微的就大一些啊。哎,网络上呢,不是也有一段话嘛,这样讲哈,说呢,如果IBM呢啊,早意识到这个操作系统的重要性的话呢,就不会有微软了。
02:01
啊,说微软的话呢,如果意识到这个门户网站的重要性的话呢,就不会有雅虎了,啊说雅虎呢,如果意到这个搜索引擎的重要性的话呢。就没有谷歌了啊,谷歌呢,如果意识到中国市场很重要的话呢,就没有百度了啊等等等啊,以此类推啊,包括呢,就是呃前几年呃,大家呢,以为说这个BAT是吧,已经能够瓜分国内的这个互联网市场的时候呢,你发现呢,还可以有呢,就是T是吧。啊,还可以呢,再加上个拼多多还可以,再加上个京东啊,照样呢还可以崛起,你会发现呢,在互联网这个领域当中啊,这个厮杀呢天天都存在,而且呢,这个敌台速度是极快的,竞争呢也是特别白热化的,稍不留神就掉队了。啊就是这样的特征,OK啊对,那现代化呢,这个百度呢,已经是基本上掉队下来是吧,诶好多呢,都想把它干掉,改成at勾啊。啊,京东想上是吧,嗯,ATM啊。啊。这个M的话呢,也可以是美团还有小米是吧。
03:02
小米也是一个M啊,OK。什么?贝壳。哪个贝壳?贝壳房产,那他不算是一个纯互联网的一个公司啊,咱们这里呢,提的主要是互联网产业的这个相关的公司啊OK。行,那目前的话呢,我们看到这个头条信呢,现在起来还是很快的啊,腾讯呢,我们看到它其实打压很多的一些创新性的公司,然后就是超嘛,后来呢,不是大家都说不太好,跟那个360当时不是干架嘛,是吧。啊,这个对3Q大战大概呢,是在这个09年10年那个时候,后来呢,这个腾讯呢,就改变思路啊,就会投很多家啊,他就不会呢。老是抄人家的了啊,就开始呢,他作为一个投资型的公司,现在其实腾讯呢,更像是一个投资型的公司了啊,但是这块呢,你发现这个就在这种场景下。然后呢,这个头条系的迅速崛起,应该我觉得还是挺张一鸣还是挺厉害的啊。啊,今日头条包括抖音啊迅速崛起,然后腾讯的话呢,就是想着各种办法去狙击抖音,这样都没有狙击成功啊,现在话呢,在这个诶咱们说呢,4G这个场景下呢,就是视频啊,这个一个主要的这样的载体的场景下,抖音呢,那就是基本上就老大之前的话呢,这个快手还可以去抗衡一下,那现在基本上也是无力啊。
04:17
哎,抖音很强大是吧,所以呢,这个头条系的这些人呢,我觉得他们特别懂产品是吧。其实呢,腾讯呢,天然的也是挺懂产品的,只不过呢,这种。啊,又易主了啊,OK。啊,一般呢,就说到这儿的话,像传统的话呢,我们说阿里巴巴跟腾讯系的啊,这些人呢,出来创业的时候,一般呢,腾讯系的人出来创业的成功概率高一点。这个阿里巴巴体系的这个出来创业的基本上都挂掉了。啊,跟这个体系里边这个人的思维呢,也有一些关系啊OK,嗯,那大家觉得像这两个公司的,哪个公司的这个你要是有一些合作,一些交互呢,哪个公司的人会好交流呢。对,大家普遍都会觉得阿里呢好交流,实际情况呢正好相反。
05:00
对,你包括咱们这个商务呢,也会有一些跟阿里包括腾讯呢,有过一些类似的这种合作之类的哈,你发现呢,阿里这个起义呢,就是看似呢,包括以前这个马云是吧,时不时的这个整一些优惠券啊等等的这个形象还很好,现在呢,当然就已经。这个隐匿了是吧,对,然后呢,这个整个阿里体系的人呢,你会发现呢,他们在交流的时候是很强势的啊。对,基本上都是以他为主,很难有一些商量的余地,阿里提的特点,腾讯的话呢,你看似好像说呢,你看超这家的,超这家的感觉挺霸道的,但是你发现跟腾讯的这个体系人交流的时候,他们其实都比较柔和一些。啊,就是实际呢,你发现公司文化呢,不太一样啊,就是可能原来马云在的时候呢,整个公司呢,还是挺强势的一种文化哈,然后呢,包括呢,咱们有好多那种。蒋凡呀,等等的这种是吧,阿里特别讲究这种价值观啊,这个呢,你要一旦跟那个体系呢,不太一样呢,那就要踢出去,包括阿里那时候呢,有几个人抢月饼。是吧,自己写个代码,然后抢月饼就都给他,他给抢掉了,然后就给开除掉了,是吧,特别讲究这种价值观哈,所以呢,其实他内部的管理呢,是比较强势的,反而呢,这个腾讯的话呢,倒很柔和。
06:09
啊,就是跟我们想象的可能还不太一样,这个呢,跟马化腾的性格呢,可能也有一定的关系是吧。OK啊。所以说不同的公司呢,都有这个创始人的这个基因啊,这个都在里边呢啊。好,这块我们再拉回来。下面有一段话说Java呢,提供的网络类库可以呢,实现叫无痛的网络连接。啊,联网的底层器呢,被隐藏在Java的本机安装系统当中,由GM呢进行控制,这里提到一个无痛的网络连接是吧?哎,其实呢,你可以理解成就是特别的。顺滑是吧。诶,直接呢,你写相关的API呢,去调用,哎,我们就可以实现了网络的一个通信,非常的方便啊。就是这个所谓的无痛啊。哎,一说到无痛呢,其实就有一个广告,我觉得这个广告词特别好啊。这个开始了吗?已经结束了是吧。我觉得这个广告词写的真好啊啊。
07:01
这个它是在某一个手术当中用的广告是吧,但是你会发现呢,他在好多场景下都可以用啊。啊。啊,你比如说上大学的时候交女朋友,那时候呢,就可八卦了嘛,是吧?呃,这个戏里边谁跟谁在一块儿了,怎么样的,就天天没事有时候聊这个是吧,然后呢,一说到谁跟谁在一块了,说开始了吗?已经结束了是吧。好,下边一个哈,正在Java实现了一个跨平台的一个网络库,成员呢,面对的是一个统一的网络编程环境啊,说的直白一点呢,就是Java呢有相关的类库啊,我们直接在调相关的API就可以实现通信啊,比较简单。好,这里边儿呢,我们先普及一个概念哈,叫软件架构。这个软件架构的话呢,主要就两种,一个呢叫CS架构,一个呢叫BS架构,实际上非常简单,这里边呢,这几个CSCS,还有这个B呢,都是单词的缩写了,C呢叫client,就是客户端,然后B呢叫browser浏览器的意思,S呢就是server服务器的意思了。哎,整个呢,我们这个软件的架构呢,就这两种情况。
08:03
啊,就跟大家呢,其实在电脑上啊,或者你手机上装的一些软件呢,是一样的啊,比如说我们在这个PC端呢,大家会发现呢,传统的基本上我们都是通过BS的方式访问相关的一些服务的。比如这块你想登录一下12306,我们一般呢,在电脑端呢,你都会打开浏览器进入12306。或者你想进入相关的一些网站,一般呢,我们都是通过浏览器呢去访问,这呢就是典型的叫BS架构。但是在我们这个PC端啊,自己的电脑这块呢,也有一些CS架构的。那你比如说像我们本地装的各种各样的软件,像这儿这儿呢,都算是一些,是不是叫CS架构的了。对,你比如说我这块呢,使用这个叫有道云呃云笔记哈,它呢也可以实现一个联网操作了,这个呢,就是BSCS这种架构的啊,他如果要是也支持这个这个这个浏览器访问的话呢,那就是属于这个BS架构的了。OK啊行,那对于咱们手机来讲。啊,你会发现呢,基本上咱们都是选择这种CS架构的是吧。
09:00
大家手机的话呢,你差不多呢,都是用相应的这种客户端了。啊,你不会说呢,在自己手机当中特别长的一个软件呢,叫做浏览器。你会发现我们其实很少用这个手机端的浏览器了,基本上都是用的具体的一个一个的APP,那其实上都是这种C的这种特点。OK,这场就是两种不同的场景。啊,那么大家呢,实际上在以后做开发的时候呢,有时候也可以问一句啊,比如说诶你这是一个外包的项目过来了,你说你这是BS架构还是CS架构的呀,杨呢,就是我需不需要给你开发一个客户端呢,还是说呢,我们是通过浏览器的方式呢,跟用户去交互呢。是吧,就是这样一个特点。那你像在这个银行当中啊,你就得问一问,你是需要呢,我们给你提供客户端呢,还是说呢,你打开浏览器来访问呢,啊有这样的区别啊。行啊,那么有的时候也会问哈,这个就是平时是闲聊了啊,比如你说这个CS架构好,还是说这个BS架构好,它们的特点呢,有什么区别?嗯,大家觉得呢。各有各的好处是吧。
10:00
诶,你像典型的这个苹果这个体系呢,你发现了,他其实挺主张用这个CS架构的。包括呢,大家用这个Mac本也是一样,你看好多都是装的一个具体的APP是吧?啊因为苹果呢认为呢,说这个CS架构里边,因为呢是客户端了,它呢就是跟用户的体验交互呢,会更好一点,然后你要用浏览器去访问的话呢,不同的浏览器呢,你发现它这种兼容性呢,有时候会有区别。哎,所以呢,企业呢,他就觉得会差一些。是吧,所以呢,有的就主张用这种CS架构了,这样的特点,当然呢,我们这个BS难道就没有好处吗?其实好处很多。是吧,哎,你比如说对你像大家呢,用这个手机你发现呢,总是提示各种各样APP呢,去升级是吧。诶像今天呢,比如这个双12,双12的话呢,可能他又搞活动的啊,你要是不升级,你相应的,比如说你这是一个淘宝的一个APP吧,你要不升级你打开的这个界面呢,跟人家升级以后的这个界面呢,可能都不一样。所以我这话说的可能不一样啊,传统来讲呢,可能还真就不一样,比如说人家这块有一个双12的这块有个入口,你一点进去就抢红包呢,你这个呢,是个旧版的,就没有没有这样一个标签儿,抢不了红包,根本看不着。
11:04
那就是因为呢,你使用的是一个CR架构的,所以呢体验是挺好的,也稳定,但是呢,你需要呢,不停的去升级你这样的一个客户端。啊,但是现在你会发现呢,诶好像我进来之后呢,我也没升级,我也能看到这样一个这个这个什么呀,这样一个抢红包的这样一个入口呢,是因为呢,它其实你看似的是一个客户端,它里边呢,其实又。啊,融合了我们这个B的这样的一些特征,就是你看到呢,是一个具体的页面,你以为这个布局都是在本地写的,其实呢,这个页面呢,也是一个网页。所以现在呢,其实我们看到这个客户端它是一种混合开发啊。是一个客户端,但里边呢,具体的页面呢,实际上它还是一个网页性质的。包括呢,我们像用的这些小程序,原来刚才主打刚出这个小程序的时候呢,主打的叫什么,呃叫什么用完即走。是吧,小程序的特点呢,就是说你不需要呢,咱说呢,在本地呢,装很多的APP了,直接在微信里边,比如一下拉,然后呢,输入哪个小程序的名,直接呢你就进入了啊不用的话呢,你直接退出来也没有相应的痕迹,其实呢,说白了就是像我们这个CBS架构一样,通过一个ul一个地址访问的远程的资源,访问完以后呢,你退出来本地呢,也不会呢,去给你装很大的一个软件是吧。
12:15
哎,就这样的特征啊。啊,各有利弊。行,这呢,就我们说的这个BS和CS这样一个架构,大家了解一下,然后接下来我们这章呢,叫做诶网络通信了,那首先呢,我们提到一个什么叫计算机网络。在这呢,有一段话啊说呢,把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大,功能强的网络系统,从而呢使众多的计算机可以方便的互相传递信息,共享硬件、软件、数据信息等资源。啊,这个呢,是比较官方的这样的一个概念了,啊,其实呢,大家呢,诶,我们在说这个概念的过程当中,脑海当中啊,你就可以浮现这样的一个场景,这呢就整个构成了一个叫计算机的网络了,然后每一个节点呢,你都可以理解成是一台具体的计算机。
13:03
其实呢,也可以呢,是一个服务器,服务器的本质上来讲,其实也是有计算机了啊,然后呢,我们通过相关的这种闭关,比如说你是通过这种卫星,这种无线的连接,还是通过这种光缆也好。啊,然后连接好以后呢,我们就形成一个大的一个网络系统啊,然后呢,彼此之间呢,我可以给你发数据,你可以给我发数据,那就整个构成了一个叫计算机的一个网络。诶,网络的出现呢,实际上呢,使得我们整个这个信息的传输的这个速度,包括呢,信息产生的这个量呢,就大幅度的增加了。你像在最早以前的时候呢,呃,咱们说夸张一点啊,这有一个人啊,这个这个人离得他很近啊,你这个说一句话他听不见,那就嗓门大一点。啊,他就听到了是吧,那时候呢,你都不敢想说你在这块喊一嗓子,在地球的另外那个人竟然也能听得到是吧?啊,现代化呢,不就是通过我们这个通信呢,可以做到吗。诶,其实呢,从这个角度来看的话呢,咱们目前人类是在地球上呢,掌握的这个信息啊,或者掌握我们这个所谓的科技啊,相较于整个浩瀚的宇宙来讲,微乎其微是吧。
14:06
哎,可能确实呢,存在这种,比如比如说虫洞啊,比如说我们可以这个直接呢,就回到过去啊,回到未来呀,是吧,哎这个呢,他可能就是真实存在的,只不过我们现在人类掌握的这个技术水平太低了。啊,太low了是吧,这样的情况啊。诶,你包括呢,以前的时候我们说能打电话啊,我记得我上这个小学的时候呢,当时还有一个报纸啊,当地的报纸还写了说这个,哎,他家闺女呢,在美国上学呢,然后俩人呢,打了一个于洋电话,打电话没上,他是看到对方他女儿的这个头像了。就像那个视频通话嘛,哎,当然还上新闻了,呃,现在来看的话呢,这个事儿是极其的简单的是吧。那这个还是属于这个技术的一个进步嘛,OK啊,当然也不排除未来的话呢,你给对方打个电话,然后呢,对方呢,打个哈欠呢,你也能感到有气流的一个作用是吧。OK啊。嗯。嗯嗯。
15:02
上厕所不能打电话,那对不对,嗯,好,诶这呢,我们就提到了这样一个计算机网络,然后呢,网络编程的一个目的是什么呢?就直接或间接的通过网络协议呢,与其他计算机呢,实现数据的一个交换啊,编程的目的呢,就是需要呢,传递信息啊,数据传输啊这样一个特点。好,然后下边提到了,说我们要想实现这个网络的编程,或者叫网络的通信哈,需要呢解决三个问题。啊,要想能够实现数据传输,什么问题呢?第一个说如何准确的定位网络上的一台或多台主机。是吧,你说这个计算机这么多,我想跟谁通信,我怎么能找到他呢?我得先定位它。这是第一个问题,第二个问题说如何定位主机上的特定的应用。因为呢,我们说一台主机上呢,它有好多的进程,对应的就是好多的应用程序了,我到底是哪两个应用程序之间做通信呢,是吧,你得定位具体的一个应用了。这第二个问题,第三个说呢,我找到这台主机了,我也找到这个具体应用了,那我在传输的时候呢,有没有一些要求啊。
16:05
是吧,哎,这上就提到了,说如何可靠而高效的进行数据传输呢。诶,这呢,就是我们提出了这样的三个问题,这个呢,也是我们这章啊,咱算是讲的一个重点啊,所以呢,就属于一个知识的一个普及问题啊好,那么对应的这三个问题下边的话呢,我们就引出了三个具体的要素了。哎,什么要素呢?你比如说第一个啊,我们要想实现准确的定位,网络上的一台主机怎么办呢?我们需要呢,叫使用叫IP地址。是吧,它呢是用来解决我们的第一个问题的。好,第二个说呢,我们通过IP地址的方式呢,定位了一台具体的主机了,那我到底是跟这台主机上的哪一个应用去做数据的传输呢。哎,这块呢,我们需要呢,去使用呢,叫端口号。给每一个进程啊,分配不同的端口号。这样的话呢,我们就可以呢,去定位主机上特定的一个应用了。
17:01
啊,就他是吧,然后第三个点说呢,我们要实现可靠而高效的数据传输,怎么办呢。这个呢,我们去规定呢,叫网络通信协议啊。或者叫规范。哎,叫网络,哎通信协议,哎通过这个协议,大家呢,都遵照我们这里边相关协议的要求去传输这个数据,这样的话呢,你传输这个数据呢,就是可靠的啊,也是高效的,哎这样一个场景,所以这块呢,我们就引入了啊,咱们下边要提到了这样的,诶三个这个要素的问题。啊,这第二个啊,下边呢,我们再提到这个第三个这个要素。好,这呢就是我们说的这样一个场景啊,嗯,那么首先的话呢,我们来看一下这个第一个事儿,呃,第一个事儿的话呢,我们就提到这个叫IP地址的一个问题了。IP地址的话呢,全称的话呢,叫Internet protocol address啊,简称的话呢,叫IP地址。啊,它呢,是用来给网络中的一台计算机设备做唯一的一个编号的。
18:00
说如果我们把个人电脑呢比作是一台电话的话。啊,那我们怎么呢去定位这台电脑,或者怎么去定位这台电话呢,电话的话呢,咱们就电话号码了,定位这台电脑呢,就相当于你的IP地址。啊,就是它了啊,哎,所以这块呢,写的很清楚啊,这是它CTRLC一下诶回过来。这呢就提到我们这个IP地址,它的一个作用是吧。给计算机呢,做唯一的一个编号。啊,这是这样场景好,就像咱们班级里边啊,大家呢,都在教室里边去上课了,每个人的这个主机呢,他的IP地址呢就不一样,那如果我们通过这个飞秋这样一个软件来看的话呢,这不就是大家下边对应的这个IP吗。啊,那这个IP的话就涉及到,诶它怎么长这样呢,诶这呢,其实就涉及到我们IP的一个地址的分类了。这个分类的话呢,典型的是分成啊,有两种分类的方式啊,第一种的话呢,叫IPV4。啊,然后呢,还有一个呢,叫IPV6。OK,什么叫IPV4呢?它是一个32位的二进制的一个数,哎,它呢是占用四个字节。
19:03
哎,这不就四个部分嘛,四个字节一个位置呢,就是一个字节一个字节呢,是不是就二的八次方中情况是吧,就是256吧。OK啊,所以呢,这里边儿呢,每一个这个位置呢,它可以表示的数的范围呢,就是从零到255。对,一共呢,就是一个字节256种情况了。好,然后呢,具体呢,在使用的时候呢,又把它呢,分成了这样的abcde这样的一些类别啊,那相对于这个A类的话呢,就是全是零,一直到到这个范围。啊B呢,就是从那个128开始是吧,诶到这个范围啊CDE这个大家做一个了解就行了。啊,那整个呢,你算一算有多少个呢,大概呢,能有42亿个IP地址。这呢,我们使用是叫IPV4啊,那42亿个呢,30亿个呢,都分配在北美了。亚洲呢有四个亿,中国呢占了2.9个亿,这样来看的话呢,我们还挺舒服的是吧。诶,但是你要整个来看的话呢,中国这块分配的就太少了,因为中国的这个网民还是比较多的是吧。
20:00
所以呢,这个IPV4这种方式呢,我们说呢,2011年的时候呢,已经给尽了。啊,那这块呢,我们其实呢,就要引入一个呃,新的一种方式,这就提到叫IPV6的这样一种方式了。I话这块用的是十个示。啊是16个字节来表示的,它呢是用八个无符号的整数来表示,所以呢,整个来看的话呢,冒号冒号冒号这一共呢是有八个。每一个位置的话呢,这块我们就写成16进制了。哎,一共是四个位嘛。哎,这样的场景。好,这块也提到说2012年的时候,6月6号,诶,国际互联网协会啊,说把这一天呢,就作为IPV6的一个启动的日期了,诶多家网站呢,都开始支持了。OK哈,行,那我们呢,如果说这块来看的话呢,这呢是咱们目前算是一个局域网内的这样一种表示方式哈,诶实际上呢,显示的是一个是不是IPV4的一种表示方式了。OK啊行,然后大家呢,也可以呢,比如我们通过问二,咱们来一个叫CMD,哎这呢,我写个叫IP config是吧。
21:05
啊,这块我们来看一下。那刚才的话呢,我实际上是通过这个呢来连接的,呃,这块呢,是看到我的IPV4的显示就是它了,然后上面这IPV6的这个地址的话呢,就是这样。啊,这样个情况啊。这呢,就是我们说的这个其中的一种分类方式,然后第二种分类方式呢,这个是可以分为呢,叫公网地址和私有地址。这个公网地址的话呢,就是我们可以呢,连外网的。啊,这个万维网是吧,WWW,然后私有地址呢,就我们是一个局域网。比如说咱们现在呢,就在教室里边儿,就是个局域网,大家那块儿呢,上不了网。啊诶,那我们在局域网内呢,大家可以通过飞球这两个软件呢,彼此之间做一个交互啊,那么局域网它有个特点,就是幺九二点幺六八点儿开头的都是这种局域网的就是私有地址,所以咱们看到大家呢,这块不都是。哎,幺九二点幺六八点啊开头的呢。OK啊好,然后后边这块呢,诶,他这是咱们这块有个叫二一是吧,第二一呢,就对应的咱们这个教室呢,都是二一段的,所以咱们大家呢都是二一段的,然后再后边的就区分咱们不同的用户了。
22:12
啊,我这儿呢是107啊,大家那块呢,肯定不是107,因为呢,我们在整个的局域网范围内呢,咱们只能是有一个107。诶,你要是写了107了,我这是自动获取的,我这块就会自动再换另外一个数。但这个数的话呢,哎,你最大是不是就是255了。对你不能说呢,我的IP地址多少是278是吧。这就肯定不行了啊,超出我们这个be的范围了啊,不行,最大呢就到255了。行,就是这样的场景,行,那刚才呢,我们就相当于说清楚了一个IP地址,一个分类方式哈,第一种分类方式呢,分成了叫啊IP。啊,这个V4是吧,它呢是占用几个字节。对,四个字节啊。好,然后呢叫按IP为六,它呢是占用。16个是吧。
23:02
哎,那很显然呢,你看四个字节呢,刚才提到了,说都有多少个亿。42个亿是吧,那IPV6的话呢,这个呢,地址就相当多了,哎,这块这样理解啊,说整个地球的每平方米的面积上,仍然可以分配1000个地址。啊,那要真要这样分配的话呢,这不就可以叫万物互联了吗?是吧,现在我们有个概念叫物联网是吧。啊,就是大家呢,就是呃,智能家居这种设备,那每一个的话呢,都可以给他分配一个具体的IP地址啊,你比如说你这块呢,正在回家呢,然后提前呢,把你家里边的空调打开,把窗帘呢给它打开是吧?哎,就类似这样的一个操作,那我们呢,有很多的这种智能家居这种设备OK啊。好,那显然呢,我们这个IPV6呢,应该能够满足我们目前的这种需求了。或者在相当长的一段时间之内都可以满足我们的需求啊。然后呢,第二种分类方式呢,就我们提到的这样的一个方式啊,CTRLC。诶回过来,诶我们骑到这儿,所以这块呢,也比较好理解啊,那关于这个局域网使用这块呢,大家呢,需要记住的就是它呢是以。
24:07
哎,192.168开头。啊,这个呢,注意一下就行好,这呢是我们说的这叫IP地址了。好,然后呢,这个说完之后呢,我们再提一个概念,叫做本地的一个回路地址。啊,什么叫本地回路地址呢?啊,你比如说我现在呢,是有一个本地的一个客户端,我现在呢,诶对应的有个服务器端,诶我现在就想跟他去做通信了,通信的话呢,你是不是得指掉知道它的这个IP是多少啊。啊,那我现在呢,知道这个IP多少了,你这块填上就能访问它了,但如果说我现在问的就是自己这电脑的。是吧,这块的话,我们就涉及到叫本地的一个回路地址什么意思啊,诶我以MYSQ为例,我的电脑当中呢,装了一个MYSQL的服务器。我就不具体让你看在哪儿啊,我装了,我装完以后的话呢,我通过这样的一个客户端,我说呀,我就想连接一下这个服务器了。那连接的时候呢,你是不是要指明我这个数据库服务器的一个地址了。
25:03
这个地址我怎么写呢?刚才我这块能看到是不是192.168.21.107啊,诶我呢就可以把这个地址呢,就写到这儿了,大家知道这个意思,就是我呢就可以指定我要联系这台主机是吧,这个IP地址上的这个MYSQL服务器了,诶但是呢,我现在来说,呃,我不想呃连具体写的这个地址,我就指明是我就连自己电脑的。哎,我就连自己电脑的这个,自己电脑的这个IP呢,你也不需要知道是多少了,像我这块还得专门去查一下是吧,你不需要写这个了。啊,或者说我刚才这个写法呢,他可能会认为说呢,我现在要想远程连一个。但其实他真正连的时候发现其实还是我自己是吧,干脆的话你就不要写这个了,我就写成127.0.0.1。啊,这个时候呢,就自动的知道呢,我连的就是咱们本地我自己的这个啊,IP地址下的这个服务器端了,不是远程连接的,所以这个测试呢,你看它是可以的是吧。这是叫本地的一个回路地址。
26:01
哎,就他。啊,这个注意一下啊,就是127.0.0.1,诶我要是写这个地址呢,诶我我写这个地址呢,其实还是我大家要写这个地址的话呢,这个就成了,还是我了是吧,但是你要写这个的话呢,就是你自己啊。OK行,那这呢,相当于我是用的IPV4的这种方式呢来做的命名,那不管是IPV4还是IPV6,大家呢,你会发现的这个IP地址呢,诶不管是四个字节还是16个字节,似乎呢都很抽象是吧。哎,我们想定位具体的某一台主机的话呢,你这样去写谁也记不住啊。或者还是那意思,咱们人的话呢,不太擅长处理这种抽象的东西啊,我们对于形象的东西呢,是比较有概念的,所以呢,我们此时呢,又引入了另外一个概念叫做域名。哎,叫做域名,哎域名呢,其实就咱们平时说的那个网址是吧,哎,比如说WWW点。百度点。com。是吧,哎,WW点多了是吧,艾特硅谷点com。
27:00
还是商务的官网是吧,还有呢,这个哔哩哔哩那个啥。是这样写吧。行就这个啊对这呢,就是我们说的,咱们说的这种网址呢,其实就是对应的这个叫域名了。那显然的话呢,它的好处是什么呢。诶,是不是可以便捷的去记录这个IP啊。记住这个IP地址,也就是说啊,咱们这个域名呢,跟一个具体的IP地址呢,它实际上是一一对应的一个关系了,你让我去写B站呢,它的一个IP地址,那我可记不住,但是你这块呢,你就写哔哩哔哩的话呢,你就能记住了。是吧,那就意味着的话,像这种域名呢,一个好的域名是不是还挺值钱的呀。对的啊,呃,你比如说像这个。阿里巴巴的一个,再一个呢,就是这个,呃,我知道的几个事儿呢,一个是这个京东是吧。京东话呢,现在就叫这个勾地叫京东了,他以前的时候呢,不叫这个名。他以前呢,叫360拜。诶,包括这个09年10年的时候,我买这个去京东上买书,当然那时候买书的话,其实一开始用当当了,这个10年11年左右的时候呢,京东上搞过几次大的促销活动哈。
28:10
这个促销的力度呢,非常大,然后那时候都他们那个后台都瘫痪了好几次哈,那时候那个代码写的也挺差的,然后呢,诶买了一个袋儿是吧,京东给那个袋儿呢,上面就写360袋,但是我一度以为呢,它是360旗下的一个卖东西的网站的。啊,后来发现跟360也没啥关系啊,诶后来呢,他就改名了。啊,改成叫京东了,这个呢,应该是花了几百万美元吧,好像是买过来的啊。还有呢,这个小米是吧,小米呢,原来呢,就叫做小米点com。后来呢,发现呢,有各种米是吧,哎,他就把这个给买过来了。诶,这个米点com这个也花了不少钱。啊呃,还有呢,这个另外一个花钱比较多呢,是这个。啊,这个有人登过是吧,呃,唯品会。啊,这个VIP呢,全世界都认识VIP是吧?哎,但是唯品会呢,把这个域名给买过来,这个花的钱好像更多。
29:04
OK哈,诶,所以这块呢,一个好的域名的话呢,能够让用户呢,很好的给他记住你的网站,便利的去访问是吧。OK啊。诶,所以有时候一提到这儿的话呢,呃,就想到呢,其实有一些专门呢,做这个域名投资的一些人是吧。这个域名的话呢,大家可以到相应的这个域名网站上可以去购买。啊,然后一年的花几十块钱,当然你看这个名具体是什么了哈,万一呢,以后可能有价值的,这个就升值了。啊,诶,所以有时候闲着没事了,就会脑洞说,诶,我要是现在突然回到十年前或者15年前了,我能干点啥事儿,能够让我们。发一笔是吧。啊,大家如果能退回去呢,想干点啥事儿呢?投资商务回报率目前还没那么高是吧?啊,有同学说我想买房子是吧,当然买房子挺好的,但是你现在有这个启动资金是吧。啊,那天那个中午演讲也提到这个说杠杆啊,啥叫杠杆呢,就是比如说你手里呢,只有这个30万。
30:03
然后呢,你这个30万的话呢,你可能找亲戚朋友再借一借,哎这一套房子呢,假设呢,比如说100万,哎你这个首付呢,不就够了吗?你又买了一套这个100万的房子了,这100万房子到手之后呢,你把这个房子抵押给银行抵押出来了,可能这个比如说90万呀,多少的,然后你拿着这个钱的话呢,又买了三套房子。是不是又各30万吗?对,然后你把这个房子呢,再抵押过去,这不就杠杆一次吗。杠杆两次是吧,30万再抵押出去,又100万出来了,再去买三套房子,这个分别再去买。啊,然后再去往下走。啊,一层一层那种杠杆,那一下子手里边房子就特别多,然后房子在升值的时候呢,你随便卖一卖。是不是这个都就赚了是吧。啊,这就多次杠杆一次次往下加,那你还可以这样玩呢,对,这就是没出事就行,只要一出事儿的话呢,房价比如跌了,整个人就断了是吧。啊,这个就很严重了啊,这就加杠杆这种情况了,行啊,那么还回到这个问题啊,如果说回到这个十年前干点啥事呢,我觉得可以考虑呢,买点域名。
31:03
是吧,或者说买点这个具体的商标这种事儿的话呢,在目前的这个。这个这个市面上其实也经常时不时会见到啊,像前些年的话呢,说那个ipad是吧。好像是深圳还是哪一家公司,那家公司都要黄了啊,最后呢,说这个ipad侵权了,说国内呢,他先把这个名字给注册了,最后呢就一顿告,还真是和解了,还掏了不少钱。啊,还有前一年的这个,咱们说这个手机,那时候一说呢,高通呢,就觉得CPU很高大上是吧。诶,但是呢,高通CPU呢,上海好像有家公司呢,就叫高通。然后呢,就是你先养着。啊,养到一天的话呢,你这个高通已经是人尽皆知了,都是高端CPU了,诶这时候呢,突然呢,就告诉你说你侵权了。是吧,你要现在告肯定也赔不了那么多钱,因为现在不像当初了,是吧?啊,你要刚开始就告呢,那人家改个名不就得了吗?诶这个人家都知道,人尽皆知叫高通的时候呢,这一告这一告一个准是吧?掏钱就完了。啊,这个事呢,就很好使,空手掏白狼一样是吧?
32:00
OK啊,当然了,你还可以做个事儿呢,我觉得呢,退回到十多年前呢,买点比特币也行是吧啊。哎,我印象当中那时候读研的时候呢,呃,哪个同学还确实聊过这个事儿啊,他说现在这个整那个有个叫加密货币,感觉挺好玩的啊,说呢就是说白了就可以。挖矿是吧,诶挖点那个东西,诶,而且那时候超级便宜哈,那时候听了一嘴之后呢,觉得这也没啥用。是吧,包括呢,这个一七年的时候啊,我在北京讲课的时候啊,就那天我丢的那个电动车的那个电池啊。诶,那天我印象很深刻,那时候还讲了一个比特币的,那时候国内才到,好像是2万美金吧,那会儿差不多两三万美金,我就觉得挺高了,大家千万不要买了,已经很高位了是吧,谁知道后边有蹭蹭蹭蹭蹭就上去了是吧。我觉得这个还是不要买,这个思路呢仍然是不变的啊,这个就跟赌博我觉得差不太多。啊嗯,所以呢,就不要像这种呢,比如没买人家赚了一点也不心疼,因为本身呢。
33:01
就没打算玩是吧,对,就不要想这种钱啊。当然了,你要说再退回去的话,你看这个各界世界杯。现在还有世界杯呢是吧?嗯,小赌怡情,大赌不行是吧?嗯。好,这个呢,就是咱们说的这个域名的一个概念啊,那我们呢,在这个浏览器当中,我们输入的一个域名啊,它其实呢,还得需要呢,对应到一个IP,对应到一个相关的一个主机上,这个主机呢,其实就是一个服务器了啊,也是能看得见摸得着的,其实就是电脑啊,OK,然后这块呢,有一个对应关系,这个大家了解一下就行。啊,简单来说呢,是这样子的,比如说呢,像咱们呃商务是吧,我呢在这个浏览器这块地址上,我写了一个I go.com,这就像那个域名了,他呢会首先呢把这个域名呢发给一个叫DNS。这叫域名解析服务器,然后呢,把它呢,映射出来你对应的IP地址是多少,然后呢,我们诶在本机上呢,再通过这个IP地址来访问具体的一个网络的资源,网络的服务器实际上就是网络当中一个电脑,在这个电脑当就保存了你对应的这个资源了,然后把这资源呢,就呈现给我们。
34:10
是这样的一个过程。然后这里边呢,其实有一个在DNS之前呢,会有个这样的啊,就我们输入的这样一个域名,它对应的一个IP地址,如果呢,我们在本地的啊,这个目录下呢,有个文件啊,这个文件里边呢,如果你记住了说这个域名对应的是它的话呢,我们就可以省去的去通过DNS服务器呢来解析了。啊,真的就是一个提前的一个操作了啊。但是一般的话呢,我们都不会呢,特意的去改这个文件,每次加很多的IP地址,没必要了啊,直接呢,你就来访问呢,直接访问DNS也行。然后呢,要是一个详细的过程呢,我下边列了一个图。啊有呢,相关的,比如本地的这个有缓存的呀,还是呢,这个本地的这个DNS服务器呀,哎等等的这样一个场景,诶这个大家有兴趣的话,你下边稍微看一下就行。总之一句话呢,就是说我们这个,呃,域名的话呢,也得需要经过DNS把它翻译成一个具体的IP,然后呢,我们再去访问具体的一个网络中的资源。
35:06
OK啊,访问网络中的一个主机,这个就过了,这叫IP,然后下一个概念呢,叫做端口号。那么这个端口号呢,我们使用它呢,来干嘛呀,区分啊一台电脑上当中的不同的进程。哎,所以端口号呢,我们说可以唯一的标识啊,主机上的一个进程。啊,这个我们把哎这个呢拿过来啊。啊,这才我们说这个事儿可以唯一标识,哎,设备中的一个进程,或者我们说的叫主机当中的。这个主机的话呢,我们就通过IP地址呢去定位的。啊,一个独立的一个进程,哎,那下一句话呢,就是哎,不同的进程。啊分配呢,不同的这个端口号。是吧,这个也很好理解了啊,那下一个问题呢,这个端口号呢,有个范围,它这个范围是多少呢。
36:02
哎,回过来这块我们看一看它的范围呢,取值是从零到6535。啊,那就意味着我们这个端口号呢,你不能超出这个6535这样一个范围了啊好了,那么回过来这块呢,有个大体的一个划分哈,那在零到1023这块呢,是叫公认的端口了。然后呢,注册的账号呢,从1024呢到49151,这大家也不用去记哈,了解就行,然后呢,动态的或者私有的账号呢,就是这个范围。然后在尤其是上边这个范围里边,有一些现成的一些服务啊,已经被占用了啊,咱们再去定义的时候呢,就不要呢用他的这个了,比如说HTTP呢,就是八零啊,这个文件传输呢是二幺啊TNE是二三的话呢,我们就8080,后边的话呢,我们在本机上呢,装个我们启动起来呢,就是8080了。启动检验证,它是8080,注意我们已经起了一个唐开的进程了,你能再起一个吗?不能因为你再起一个方呢,要也是8080,是不是就不符合咱们说的呢,不同的进程分配不同的端块了。
37:01
对,它会提出叫端口冲突了就啊。好,然后MYS呢叫默认叫3306,所以呢,大家你会看到啊,刚才我在这块呢,这儿呢,是定位了我们这样的一台主机了,这个主机上的话呢,有好多的进程,你是哪一个呀?默认的三三零六指的就是我们啊这个主机上的诶MYSQL的数据库服务器了。那我们这块就可以测试链接,哎,是通过的啊这样的场景啊。好这块呢比较好理解啊,如果呢,这个篮框呢是一个主机,这个篮框呢也是个主机,然后呢,我们通过IP呢来去定位不同的这个主机,定位好以后的话呢,它里边有不同的进程,然后我们到底想跟谁去通信,通过这个端口号呢去做一个划分。啊,这个MSN的话大家听过吗。啊有听过,但是基本上用过的是极少,因为在国内基本上咱们都不用它是吧?呃,然后呢,应该是前几年还是啥时候这个已经不用了。是吧,也都放弃了啊,诶其实这块MSN呢,当初呢,在国外呢,还是非常流行的啊,我印象挺深的,当时是有一个诶消息就说这个事儿了哈,这个唐骏知道吧。
38:07
啊,原来讲叫打工皇帝嘛,是吧,这个也做到了,这个应该是亚洲区的微软的这个总裁了哈,当然后期呢,这个有一些事儿呢,就说到学历造假等等的,这个咱就不说这个了哈,当然本身这个人呢,其实能力还是挺强的哈,当时呢,他在这个中国呢,呃任这个应该是研究院的这个院长吧,啊等等这个级别的时候,就中国区的他是负责人,然后呢,他特意呢,还给这个比尔盖茨呢,呃写信啊说这个事儿啊说呢MS呢在国内的进展不太顺利,然后看到了这个QQ呢,现在这个增长势头非常快。那我们要不要做一些?租金的一些行为是吧。啊,怎么做呢,其实这个事儿呢,要做呢,那Windows操作系统什么都能做啊,因为呢,你这些软件不都都装在Windows上吗。哎,他可以从那个系统层面呢,是不是就禁止你装QQ。啊,就像三利跟QQ大战一样是吧,诶完全可以做这个事儿啊,但是他发过给这个比尔盖茨以后呢,比尔盖茨后来就把这个事儿给拒绝了啊,因为当时呢,这个微软在美国呢,正打这个官司呢,啊美国呢这不是想把。
39:06
呃,微软给拆掉嘛,他垄断了是吧?啊有好几次呢,都想给他拆了,所以呢,这个事我们不要去做了,哎,确实呢,因为这个事没有做,所以呢放过QQ1码。啊,所以QQ呢,就成就了今天的腾讯是吧。所以呢,腾讯的话呢,是不是就不允许这个事儿发生啊。所以他就开始呢,就狙击各个这个其他的这种校场是吧,诶当然呢,经过一零年这个3Q大战以后呢,呃,他们觉得说这个名声确实不太好,然后呢,改变思路呢,就是他不狙击了,也不抄袭了。哎,对,把它买下来或者入股是吧。啊,他好像完全买的思路呢,也也不,他就是诶我占20%的股份,经营呢还归你,然后呢,我给你倒一些流量,咱们呢就是互惠互利啊这样的方式,所以呢,基本上你现在能看到这个差不多现在互联网的这一些。呃,各个这个平台啊,阿里呢,其实现在他也买过很多,但是阿里的思路不一样,阿里呢是买过来呢,是为了让那些平台给他提供流量。
40:00
比如说他把这个UC买过来,是为了呢,让这个很多用户呢,用UC的时候呢,来他这块买东西,所以他是要吸纳流量,而这个腾讯的话呢,本身他就有流量,他要给别人流量建立这个生态,所以他一般建立的话呢,就是只要呢和收的公司呢,都得合并到他的体系里边,很多人呢都就挂掉了。是吧,当然呢,腾讯的话呢,合作的这些或投资这些企业呢,因为他有流量给到他们,他们呢一般生活的还都挺好。啊,这个就是生态的这个原因是吧,当然呢,去年或者前年国家已经开始去整治这些互联网这种垄断企业了,这个阿里也好,腾讯也好,腾讯呢,就特别会向中央的去。呃,做一些很正确的一些事儿是吧,啊该投钱投钱是吧,该干啥干啥,但是这个呢,他本来体量已经很大了,这个还是要非常的小心的是吧。OK啊。嗯,行,这个呢,就是我们说的这样的一个进程的概念,好,那通过这个呢,我们就能定位具体的主机,主机上的具体的一个啊进程了啊那么第三个的话呢,就涉及到我们说呢,叫通信协议了。
41:02
啊,通信协议这个协议这块呢,我们就会涉及到了啊,这样的一个分层的协议,这个协议的话呢,呃,稍微的说一下这个事儿啊。说我们怎么能够实现这个数据的有效的传输呢?啊,这块我们说必须要做一些规定,那么这个规定呢,实际上我们就称为呢叫协议了,但由于呢,网络涉及到这个协议啊,太多太复杂了,各个层面呢,怎么办呢,这呢提到了一个叫分层的一个思想。哎,分层以后呢,我们说呢,同层之间可以通信,上层和下层之间可以通信,不能跃层通信。那么具体的这个层次怎么划分的呢?有一个理想的模型叫osi的一个参考模型。这个参考模型呢,把网络呢分成了七层。应用层,表示层,绘画层,传输层,网络层,数据链路层,物理层这七层,七层特别理想,每一层做什么事想的也很清楚,但是呢,这个呢,并没有形成事实上的标准。目前呢,我们跑的这个参考模型呢,实际上叫TC pip的模型,它呢把网络呢分成了四层,应用层,传输层,网络层,物理加数据联动层。
42:08
啊,这个大家怎么去理解呢?其实也很好说啊,啊就比如说一个公司一样,这个公司的话呢,你可能创建好以后呢,会制定很多的这个规章制度。是吧,包括呢,大家呢,每天这个咱们进教室,这也有些规章制度是吧,这个呢,规章制度呢,你要制定的特别理想化,可丁可卯的话呢,这个其实实施起来就很难。啊,你比如说咱们咱们教室的人假设比较多啊,假设呢,要求25呢进教室,假设呢,咱们就举个例子啊,比如25呢到30之间,大家呢是打卡。啊,给了五分钟,那如果说要人多的话呢,你发现五分钟根本打不完卡。啊,但是你要从那个数据上来看的话呢,五分钟挺长了啊,就是发现呢,有的时候呢,你太理想化的一些制度的话呢,实施起来确实是有困难的。啊,你得有一些啊。宽泛的这样的一些点啊,所以呢,我们这个呢,参考模型就没有实施起来。那么t t pip的这个参考模型呢,对应的这个层级上相关的一些协议呢,就是我右边写的这些。
43:04
啊,TP协议,超文本传输协议,后边我们要讲到web的时候呢,还会专门讲一下这个协议里边的一些请求啊,响应啊,啊是吧,相应的一些这种啊信息啊和规范,然后呢,文件传输协议啊,然后呢,传输层这里边呢,典型两个一个叫ttp协议和udp协议,网络层典型的就是IP协议。好,这是我们这样个模型,然后这个模型里边呢,有两个比较重要的协议,一个呢是传输层的TP,一个是网络层的IP,咱们呢就以这两个协议呢,来命名了整个这样的一个参考模型。这个参考模型里边其实不止他俩,它代表的是以他俩为代表的这样一些参考模型。啊OK啊,这块我们注意一下啊,行这呢就引出了我们这个叫啊TTBI这样协议,然后有了相关这个协议之后呢,我们就可以实现数据的一个传输了。所以呢,整个呢,就构成了我们三个要素。啊,三个要素,哎,网络通信协议。是吧,那通讯协的一个目的是什么呢?
44:02
那就为了。哎,实现,哎,我们叫可靠而高效的。数据传输。哎,这个数据,哎传输是吧,哎,那么具体参考模型呢,刚才我们说了啊,一个叫tdp,一个叫osi的一个参考模型是吧。哎,参考模型啊,这个呢,我们说将网络。分成了七层。啊,然后呢,这个呃,过于理想化。过于理想化啊,没有实施起来。诶,OK啊,然后呢,我们提到另外一个啊叫TGP。啊,然后IP的一个参考模型。啊,他呢,我们说将网络呢。应该说将网络这个协议是吧,诶分成这个几层啊。
45:01
哎,四层。来分别对应的叫。应用层还有印象吗?传输层?网络层。那叫物理加数据链路层。诶,OK,这样的一个情况啊,这个呢,是我们事实上使用的标准。诶OK啊行,那么对应的我们说呢,有三个问题,然后呢,这块呢,就有三个要素啊就可以了,这个事儿呢,其实也类似于啊,就像我上面这块呢,举的一个例子。啊,举这个例子一样啊,这个大家呢,写过信吗?写过信的话呢,还是比较。传统的或者说年龄大一些了是吧,现在基本上都不写信了啊。你看其实写信的话呢,我们说呢,也会有相应的这样的几个事儿哈,第一个你想给谁写信,你得知道呢,他住哪儿吧。是吧,哪个省哪个市或者你上学的时候呢,就是诶哪个市的哪个学校啊,高几的或者大几的。
46:00
啊,这样一个情况,然后呢,这个端口号呢,在这个地儿呢,人很多,谁谁谁收。哎,有点像我们这个端口号一样。好,这个呢,你说我都知道了啊,地址端口号都知道了,说呢也得有一定的规则,这个信封的话呢,不也有要求吗。这是对方的邮编是吧?哎,这是呢,你自己的邮编,哎,这呢是对方的一个地址,对方的名称,你自己的地址。诶,而且呢,这块还得贴邮票,根据你的地址远近的,这个邮票的价格还不一样。啊,贴的便宜了,还不给你寄是吧?啊,这俩地址的话呢,你也不能写仿了。切完之后呢,你第二天呢,投递完第二天呢,你就自己就收到了是吧。诶,所以这块呢,都是一些规范和要求,这呢其实就相当于我们的一个协议啊。哎,然后里边的话呢,这个你也有一些具体的一些要求等等的是吧,诶那么这个所谓的这种要求啊规范,其实这块呢,就是我们所谓的这个协议了。啊OK啊行,这呢就我们说的三个要素,然后呢,我们回头再过来以后啊,我们就讲一下具体的IP地址啊,又体现了叫万事万物皆对象,我们提到了有一个类叫ant这个类啊用它呢来表示一个具体的IP,然后用具体一个int型的变量啊来表示一个具体的端口号。
47:11
然后我们看看如何实现啊TCDP,包括呢ul的这个编程。啊OK,好,那现在的话呢,我们要具体的实现网络编程的时候,那IP地址到底怎么去呈现它呀,这块我们就提到了一个类,这个类呢,就叫做ant address啊这样一个类,好CTRLC一下,这个类的话呢,我们在这个API文档当中呢,也可以看一下。那首先呢,进来把它往这一输,这块呢,找到这个net包下的第一句话说的就非常清楚,说this class,说这个类啊,它就代表一个IP地址。你看说的很清楚啊,所以通过这呢,我们也能够体现叫万事万物皆对象,说IP地址你不就是一个数吗?然后你在Java层面呢,怎么表现呢,说我们得是某一个类的对象了。哎,又是用一个类来去封装我们这样的一个概念好了,所以首先的话呢,我们说按这个类的一个作用是什么呢?哎,我们说呢,这个按这dress是吧,这个类的一个实例。
48:06
那就代表一个具体的。嗯,IP地址。OK,行,那下面一个问题就涉及到,那我该怎么去创建它的实例啊,这就对应的叫实例化的方式了,那正常来讲呢,我们说实例化方式就是造对象呗,造对象使用构造器吧。那这块我们就想,诶看一看它里边都提供哪些构造器了,好通过这个API文档呢,往下一走。直接呢,你发现呢,就到这了。一般的咱们这个文档呢,都是往下走的时候呢,先有F的属性,然后再有construction构造器,然后下边呢才是方法,如果你往下一走的话呢,直接就看到方法了,意味着这块就都。没显示没提供是吧,属性呢,没有构造器呢。不能说没有了,因为任何一个类都有过到期。对吧,包括抽象类啊,在这块它没有显示,那就意味着这个构造器呢,给。相当于私有化了是吧,就没有对外暴露了,第二句呢,就是不要让我们直接呢,通过new加构造器的方式造对象了,那不让这样的话呢,那怎么造对象呢。
49:06
啊,这个时候的话呢,一般我们能考虑的是第一个,你看一下这个类呢,下边有没有一些静态的方法。是吧,有点像这种单立模式类似啊,单立模式呢,只不过它只能有一个对象了。就是相当于呢,我们通过这个类的一个静态方法呢,可以返回当前这个类的一个实例了,这是一种,还有一种呢,就是以前咱们稍微提了一下,就是我想创建叉叉叉这个类的对象,它会给你提供了叉叉叉叫builder是吧。哎,这样的一个类。嗯,这就是个L是吧,然后D啊,然后呢,或者呢,叫A叉叉叉factory是吧。叉叉的工厂,比如像这个这个。呃,安踏的一个工厂,那安踏的工厂呢,肯定是生产安踏的,可能是鞋啊,可能隐啊是吧,然后叉叉叉这个工厂,那肯定就是生产叉叉叉的,就是它里边呢,就会有相应的一些静态方法呢,去返回一个叉叉叉的一个对象了,就。好,我们这里的话呢,直接呢,就去这个类里边呢,去找这个静态方法就行了,这里边儿你看有一波,这一波里边呢,我们主要讲了一个呢,就是get by name。
50:09
那通过这样一个静态方法,返回一个它的实例。OK啊行,这是一个啦,然后呢,它这块还有一个叫get local host,咱们主要呢讲创建对象,就说这两个方法就行。OK啊,所以实际化方式呢,我们刚才提到了啊,叫get by name,这里边儿呢,填一个词缀形的一个host,这个呢是其中一种方式,再一个叫get local host。OK,这样就行啊,他们返回的都是一个ane dress这个类的一个实例了。OK啊,那它俩有什么区别,来我们这块呢,写个代码测试一下。在这个下边呢,我们去新建一个啊。I address这个测试。好就过来了啊行,那这块呢,我写成一个比如may方法吧。啊,第一个叫做实例化啊,刚才我们提到了,首先第一种方式啊,叫get by a name,这种方式的话呢,基本上其实就能够满足我们的需求了啊,比如说我通过这个I dress啊,点get by name。
51:12
好,那这里边儿呢,写一个死中形的一个host,这个写什么呢?哎,其实典型的话呢,我们就写这个IP地址就可以了,拿配地址,比如说幺九二点幺六八点啊,这个我就随便写一个了啊,哎,就这样。那这个呢,就表示呢,我用这个字符串封装的一个IP地址,然后呢,把它放在我们这样的一个方法的参数位置,返回值呢,就是一个address这个类的一个实例了。哎,不如叫个一就这样啊好,他这块有异常,这异常咱们在没方法里边了,那就别死肉死了,咱就拆开吃吧。啊,是吧。OK啊行,那这样的话呢,咱们就创建了一个这样一个对象,这个对象呢,指定的这个I,你不是表示一个IP地址吗?你IP多少啊,就是这个。那就这意思啊,好这块呢,咱们也就是简单的就打印一下哈,其实呢,就调它的初始人方法了,其实呢,打印出来的就是这么个地址。
52:07
那就这样的情况。好,那前面呢,咱们也提到过,说呢,我们表示这个IP的话呢,可以写一个具体的IP地址了,但是这块呢,比较抽象说呢还可以呢,是不是使用一个叫域名的一个概念。哎,所以这块呢,我看我们再接着呢,叫get by name的时候,这个位置的话呢,咱们也可以写个域名,比如说呢,像呃商谷的话呢,就是at硅谷点com是吧。哎,就这样的方式了,行,那这样的话呢,我们仍然可以得到一个ant address它的一个。哎,对象了,然后这呢,我再换个名,哎这么着啊,然后这块我们再打印一下。诶,这个叫2NET2,这呢也会调用它的一个to string的方法,那我们看看它打印出来这个结果是什么走起。好,大家看它打印出来结果呢,是这个啊,前面的话呢,是我们对应的这个叫域名,后边呢,就是我们这个域名啊,所对应的一个IP地址了。就成这样的场景了,OK啊,很显然的话呢,这块其实呢,是不是走了一下,我们这个叫DNS啊。
53:05
叫域名解析服务器了啊呃,这块呢,所以我们在运行它的时候呢,前提呢,你得有网,那有网的情况下呢,我们拿着这个域名呢,首先到DNS上去解析,解析出来对应的这个IP呢,就是它。OK,然后这块因为你已经拿到十个IP了,就没有必要呢再去解析了。哎,这呢是我们实例化的这个用的这样的一种方式OK啊。好就它了,好,那这呢是第一种方式,刚才提到说还有一种方式叫get叫local host,所以你看这个方法名呢,基本上也能猜到,咱们主要呢,是不是获取本机的一个IP地址啊。哎,对的啊,所以呢,我通过这个dress,第二叫get local host。这块呢,其实我们就没有必要呢再去传个参数了,因为你已经明确说了,就是本机的IP地址了啊,所以这块我们。啊,加一个回车,你看生成的一个,比如说叫an ant这个三是吧,就它。
54:01
啊,二肽这个三好,我们把它呢也打印一下啊,走起。嗯,就这样了啊,它这边显示的还不是127.0.0.1了,而就是显示的,诶我们自己这个电脑呢,这不是其实我也有一个。IP嘛是吧,显示的就剩它了。啊,现在呢,我通过这个相应的这个适配器呢,就是跟哎外边这个进行网络呢,一个传输,只不过现在咱们是一个局域网的一个显示啊,跟我们在呃,WIN2。哎,CMD这个咱写一个叫IP config是吧,哎这块呢,看到的其实是一样的,哎这不就这个地址吗。好了啊,这个呢,就是我们过去呢,叫本地的一个IP地址,其实呢,这个方法的话呢,就是比较简单而已啊,如果呢,我们要使用上面这个name呢,我想表示本机是不是也没问题啊。哎,你就只需要呢,把这个地址是不是写到这儿。是吧,哎,就换到这儿是不是就是表示的是我们指定这个IP的一个地址了,其实呢,就还是我自己。或者说的话呢,我们昨天还讲了一个这个是不是也行。比如我就用这个net address点,我就要get by name,我就记这个方法,这个方法相对来说就比较通用了啊,我写成127.0。
55:06
点0.1是不是就表示的也是我自己啊。哎,没问题啊。啊,CTRLC啊,这边我们来一个这个四。OK啊an对an这个四是吧,这样就可以了,行,这个呢表示的也是我自己,然后这个呢,表示也是我自己,所以呢,你看你用哪个方式呢都可以。OK啊行,这没问题,这个呢,就是我们讲的叫实例化的啊,这呢算是我们讲的两个方法。啊,所以这块我们写一下啊,它呢叫获取本地IP。它呢,对应的。啊,Address它的一个实例。嗯,而他呢,就获取指定的啊。哎,获取指定IP对应的。I address,它的一个实例。好,这呢,就我们说的这个实例化的这样的两种哎方式啊,这就可以了,好,那这个实例化方式讲完之后呢,我们再稍微的提一下这里边儿的两个常用的方法。
56:08
哎,就完事了啊,两个常用方法,什么方法呢?比如这块呢,我们先拿这个安的一为例。啊,直接把它拿过来,第一个呢,叫get get host name。哎,这是他,然后另外一个呢,直接呢叫get host address。那其实呢,你看这个名字也比较清楚,这个呢就获取一下这个名,这获取地址,其实这块呢,就试图呢叫获取域名,这个呢就获取一下啊,我们对应的这样的一个IP地址了,那对于T1来讲呢,其实它没有对应的域名了啊,只有一个地址啊,所以这块呢,你看我们打印的一个效果。嗯,答应效果,诶这块好像我们。是不是看不出来了,这个是吧,我把前边这块呢,稍微的关一下,把这个比如说关一下。好,来这块我们做一个走起啊。嗯。他在这块在等待呢,是吧。
57:00
呃,他这块呢,找host name啊,其实这块呢,本身自己人就还是他了。啊,所以这块呢,其实显示的就是这个地址的一个情况啊。这个没有对应的这个域名是吧。哎,所以这块你去查找的话呢,也找不到啊,诶对应的就是它啊好,然后呢,下边这块呢,我们针对于这个,因为在这个ANDT2的话呢,它有对应那个域名了,所以呢,我们去get host name的时候呢,其实就能获取到它对应的这个域名。OK,行。你看我们这个呢,去打印一下啊。I2.gethostname,然后复制一份。来get host address是吧,哎,他这个啊,把这个呢,比如我们注释一下,然后再来看这个。但这个的话呢,它打印出来的上面这个呢,就是域名。然后下边呢,就是一个IP地址。哎,行啊,那如果说按照这块你本身在这块写的是一个IP地址的话呢,其实get host呢,显示出来就是一个IP地址了。这个也比较好理解,行,针对我们这个呢,也同样的道理,这个你要打印的话呢,比如对应的这个host name是不是就成它了。
58:04
然后address呢,就成它了。这样就行,好,这块大家了解一下就行啊,对应的两个方法,OK,行,那回过来这块呢,就提到了,首先第一个啊,第一个这个方法呢,我们刚才提到了它呢,相对来说去具备这个通用性的,你可以获取指定的这个IP,包括呢本机的。啊,只不过呢,这个呢,要是获取本机的话呢,用下边这个方法呢,就更方便一些啊,不用你填这个参数了,然后常用方法那块呢,我们就提到两个啊,第一个呢叫get host name。啊,然后下一个呢,叫get host address。那一般的话呢,我们可能这块就习惯上会用它这个呢,就知道呢,具体的IP地址是谁,因为这个呢,也是唯一的啊。这个呢是获取IP地址,这个呢就是试图获取一下这个域名,没有域名的话呢,这块显示的也是个IP地址,OK行,整个这块呢,大家做一个了解就行。啊,因为呢,接下来呢,我们要实现这个通信了,通信的时候呢,你得需要指明要通信对方的一个IP地址了,到时候我们就需要呢,造一个他的对象,哎,OK。
我来说两句