00:00
行,那这样的话呢,我们就基本上有一个大体的了解了,那了解以后,我们接下来的话呢,先针对这个问题一啊进行一个学习,这呢我们就接着来看下边这个内容。诶提到了网络通讯要素一叫IP呢和端口号,哎,首先IP地址,哎,咱们提到了这个IP地址呢,说唯一的去标识互联网上的一台计算机啊,或者叫一台主机,是一个通信的实体啊,这呢是一个IP地址,就像咱们说本地,咱们上一章中讲的啊,我想进行本地的一个文件的一个读入,诶我们需要对应着一个file,这个file呢,其实就对应着我们真实硬盘中的一个文件,现在呢,我们说,呃,IP地址就是我们进行网络传输的一个终点了,或者叫一个节点,这个节点呢,我们就称作一个叫IP。啊,就是那IP,那么我们得考虑用一个类呢去表示一个IP,就像说用一个啊file类的对象去表示一个真实存在一个文件一样啊,那这里就提到了一个类叫做iight dress这个类。
01:05
哎,相当于我们一个it dress这个类的对象,就代表着一个具体的IP地址。啊,就用它来表示啊,CTRLC我们看一下API。哎,打开了,那这块呢,有关于它的一个介绍啊,说这个class啊,It dress这个类,它的一个类代表着是一个IP的一个地址,那说的非常清楚啊,IP呢,只是我们这样的一个缩写啊。好,这呢就提到了这样的一个类了啊,那么接下来的话呢,这呢又提到一些,呃,关于IP地址的一个分类,这块呢,我们先熟悉一下啊呃,IP地址的分类呢,我们按照两种不同的角度,一种角度分成叫IPV4啊,另外呢叫IPV6,对这个大家应该也都清楚啊,IPV4像咱们呢,看到这块的这个写法,这都算是IPV4的写法啊,IPV6大家也能看到啊,你打开我们这个网络哎,和共享中心啊,本地连接属性。
02:09
啊,这呢就是对应的我们IPV4这叫IPV6啊,IPV4这个格式呢,是这样的四块,每一块这个区域呢,是从零到255,哎零到255啊然后这块呢是IPV6啊是一串比较长的这样的一个哎字符了16进制来表示的。啊,这个我们不在这写了啊,我们看下我们PPT了解一下这个事儿,IPV4呢是由四个字节组成,刚才也看到了,每一个的话呢,它的表示范围是零到二五,大概的话呢,有42亿,那说呢,实际分配当中呢,30亿呢,都放到北美了啊,亚洲呢只有4亿。啊,说2011年的初,其实呢,IPV4这个地址已经都被用尽了啊,就没有了啊,那么未来的话呢,肯定是要导向IPV6的啊,因为IPV6呢,它表示的这个数据范围呢,就更广了啊,128位有16个字节,这才四个字节啊,哎,写成八个无符号的整数位啊整个呢,它是八个啊。
03:05
哎,然后每一个的话呢,有四个位啊,是一个16进制来进行表示的,它呢可以存储的数据呢,就更多了,甚至呢,我们回头可以给每一个具体的一个,呃,一个生活中的一个叫叫object,叫一个物件是吧?诶都可以给他们分配一个具体的IP地址啊,实现了万物互联啊,真正的物联网。啊,那你要用IPV4肯定做不到啊,因为现在已经不够用了啊,但是现在呢,我们表示一个IP的话呢,可能还习惯上呢,啊用这个啊IPV4的方式。啊,这是我们的分类方式一,那分类方式二提到了叫公网地址,还有我们这个叫私有地址,像咱们教室里边现在就是一个局域网啊,那局域网的话呢,就是我们叫私有地址的啊,通常这个范围都是192.168开头的啊,是0.0,一直到25525,哎,在这个范围之内的,我们都其实是这个叫局域网的啊,那么公网的话呢,就是大家呢,你访问具体的一个网址。
04:03
啊,其实它都会对应着一个公网的一个IP啊,是这样子的啊。行,那这呢,我们就提到了这样一个叫IP啊,大家呢,需要清楚的就是它呢,来标识我们互联网上的唯一的一台主机啊,这是三,哎,我们来讲这个叫通信,哎,要素一叫IP和端口号,哎,首先我们提到第一个这叫IP,哎,它呢。哎,用来唯一的标识,诶,互联网上的一台主机。哎,这是它啊行,然后的话呢,我们第二点说呢,在我们这个Java中。哎,咱们呢去使用叫I ne address这个类,哎它呢来代表啊这个IP。嗯,那具体来讲就是这个类的一个对象,就代表一个具体的一个IP地址了啊行,然后第三个点呢,我们这个说了一下这个IP的一个分类。
05:03
这个分类呢,大家了解一下就行啊,分类我们刚才提到了第一个呢,叫I哎V4啊,然后和啊IP哎V6哎这呢是一个分类角度,哎,另外一个呢,就是我们提到一个叫诶这个叫广域网是吧?哎,或者我们叫这个公网啊,还有一个叫呃,私有的叫局域网啊万维网和这个局域网的一个区别。嗯。哎,万维网哎和局域网哎这样的区别,咱们现在教室里边用的其实都是一个局域网了啊,哎,所以你看到我们这个地址呢,都是192.168开头的行,这是关于它的一个分类,那么具体来讲,我们呢,就需要呢讲一讲这个叫I net dress了。啊就得说了,说说一说它啊,那下面呢,我们就写一个具体的代码,那比如我这就写一个这个没方法。
06:02
那写个没方法,写没方法,那下边呢,我想这个表示一个具体的IP了,那就得创建一个I net address这个类的一个对象啊,那我们来这里边看一下I ne dress这个类往下走。这呢是它的方法,咱们以前看API知道方法上面一般都该放这个构造器了,你发现呢,它没有对外暴露这个构造器的说明,相当于呢,它的构造器呢,就私有化了是吧?哎,没直没有直接的对外暴露,没有直接暴露,那我们看下它里边的方法,对,你会发现呢,这个方法里边有静态方法。当我们调这个方法的时候呢,就帮我们返回了一个a dress类的实例,哎这里边我们就提到,主要咱们用的话呢,哎就可以用这个叫get by name,哎叫get by name,好,那我们这块呢,来写一下。哎,第二啊,Get by name,那get by name的话呢,这里边儿让填一个锥形的host。
07:03
这个host呢,就是我们所说的叫主机名。或者说呢,你想表示具体的一个IP,这个位置就得写你这个IP了,这个位置写的话呢,我们说有两种写法了,第一种啊,咱们刚才提到了一种就是啊,像IPV4的这种表示方式,哎这呢,我就写了一个,那这个地址,哎,我们说对应的呢,其实就是一个IP的地址,哎,那么我们返回的叫I net address。哎,我就写个一吧,那这样,那这都有异常,咱把这异常呢,都给它拆开始吧,行,那这样的话呢,咱们就造了一个对象,这个对象呢,它对应这个IP呢,就是它。那其实呢,这不就类似于咱们讲那个file一样吗。File呢,我们用一个file file这块呢,你写了一个叫hello.tst,哎,这呢是一内存中的一个对象,这个对象呢,就会对应着诶我们这个路径的一个文件,现在呢,这个类的对象就对应着我们具体的一个IP地址啊,就它啊,那我们呢,简单的输出一下这个按T1好执行。
08:14
那这边就把我们这个地址呢,就给输出出来了。好,这呢就是我们说的这样一个情况啊,咱们目前调用呢叫get by name,这呢就是一个具体的IP地址。那么除了这种写法之外呢,我们说还有一种写法啊,还有一种写法呢,就是提到了一个域名的问题。哎,域名的问题,咱们知道这个IP地址啊,比如说你现在想访问这个新浪网,大家访问新浪你从来不会去写这个数吧,你写这个数是不是显得有点太难记了,哎,所以这里边就提到了啊,另外一个概念啊,第四,哎,我们提到一个概念叫什么叫域名啊。啊,叫做域名啊,这个域名的话呢,就是我们针对于实际当中表示IP,这个呢,比较抽象,不太容易记忆啊,所以呢,我们就提到这个域名的概念啊,这个域名呢,咱们举具体的例子就可以了,比如说大家呢,你想登录百度。
09:09
你不会去记百度这个数啊,而是呢,直接输入百度点。com,哎,这就算是一个域名了。啊,这个域名,然后呢,你想登录一下这个啊,比如说小米。哎,Media com,哎想登录这个新浪,哎新浪点com类似像这呢,都是具体的一些域名,这个域名的话呢,就相对来讲比较形象,哎我们用户呢,实际上是可以通过这样域名的方式啊,也来访问具体的某一个IP地址的。啊,也是可以的。啊,那这呢,具体的一个过程是什么样子呢?哎,我们这儿呢有一个图。哎,我这有个图啊,比如说诶大家呢,想访问上微谷的官网啊,这个官网呢,叫艾特硅谷点com,那你也不会去呢,写具体的它的一个域名,呃,这个IP地址。
10:02
一般的都记不住啊,那呢,你是在我们的浏览器端呢,写的是这个域名,那这个域名的话呢,诶我们得解析一下,解析出来它到底这个数是多少,所以呢,我们首先会发给这个叫DNS,哎,这叫域名解析服务器啊,域名解析服务器就会帮我们把这个域名啊解析出来,到底它的IP是多少,解析完以后啊,发现是这个数,然后这个数的话呢,你再拿着这IP地址去访问我们对应的网络服务器,哎,就把这个资源呢,就请求到了。哎,就请求到了哈,那这块多写了一句呢,是我们本地呢,呃,大家呢,你去C盘里边去找,会有这样一个hosts文件,这host文件里边呢,我们也可以写具体的某个域名对应的一个IP地址是多少啊,他呢可以先在这本地去找,本地要没有啊再发给网络。啊,大部分呢,我们本地都没有,所以呢,诶主要的我们都是还通过网络DNS服务器进行解析得到我们对应的这个域名啊,有这样的一个过程啊,这个过程的主要目的呢,就是因为我们这个IP地址啊,太抽象了,不容易记忆,所以呢,我们才提到了一个域名的概念啊,也正为正因为这样,所以现在呢,其实很多这个投资呢,是不是专门就来投资这个域名了啊,这个刚才中午分享的时候呢,呃,问大家问题,说这个如果你有机会回到以前某个时间节点,大家愿意去哪儿啊,刚才呢说愿意买房子是吧,其实买房子那花的钱还是有点多啊对,如果呢,现在有机会回到十年前,要是我的话呢,我就去买域名了。
11:35
嗯,你想这么多年出了多少公司啊,小米啊,就是中国国内的这些这个这个独角兽的这些公司,包括像国外的什么Facebook呀啥的是吧,你就把这个域名是不是就全住了,住完以后其实花不了多少钱啊,一年也就多了,也就几百块钱哈,哎,住完以后呢,你就在家睡觉就行,你就等着他给你打电话就可以了,是吧?诶,那么一个域名呢,其实可以卖到很贵,那就看具体的公司了,嗯,你像这个,嗯,小米这个应该是几百万吧,是吧,小米还有这个京东,这都是花了大钱钱买的啊,还有这个特别牛的一个域名。
12:15
嗯,特别牛的这个域名啊,大家知道这是哪吗?唯品会啊,唯品会用的用的是这个VIP啊,像这个域名的话呢,都算是非常好的域名了,这都比较贵一些啊嗯,这个呢,域名好像当时花了是。几百万美元吧,好像说是啊,才把这个域名买下来啊,当年这个唯品会市值还挺高的,高的时候呢,好像说是能顶四个新浪啊。当然我觉得很夸张啊,行,这呢就是相在这个域名啊,之所以大家去抢域名,就是因为这个域名呢比较形象,哎,我直接呢,可以通过域名直接对应某一个具体的网络服务器来访问具体的某一个网站了,啊啊行,那说到这的话呢,我们这就可以这样来写了,哎,我这呢还用叫annet dress,第2GET by name这个位置的话呢,我记不住这个IP,我这呢就写一个具体的域名,比如说我们就写叫at硅谷点com,诶,然后呢,这是具体的域名对应着我们这样的一个it address类的对象。
13:19
哎,这个我们叫二啊,哎,这个位置我再去sit out一下。哎,这个二行这个第一个位置呢,咱们就留着啊直行。好,大家呢,你会看到呢,我们这个代码呢,很快就执行出来了,因为呢,它没有解析直接呢,没有进行这个DNS是不是直接呢,就是它了,诶而我们第二个的话呢,你看我们稍微延迟了一下,那延迟的原因呢,就是我们这呢,需要去解析一下这个域名,它对应的这个呃,IP地址到底是多少啊,解析出来呢,是他所以又给我们发回来的啊,是我们具体的这个地址。哎,从我们这个信息当中,你能看到这叫域名,这是具体的IP,哎,是这样的一个情况啊好这呢,咱们就提到了这个叫具体的这个域名啊,IP这个情况,然后下一个点。
14:09
啊,下一个点啊,下一点的话呢,在这个IP里边有一个比较特殊的IP啊,或者叫特殊的一个地址,就是我们叫本地啊地址啊,我们叫本地回路地址吧。哎,本地回路地址叫127.0.0.1对这个呢,就是表示咱们本机的意思。表示咱们本机的意思啊,这个本机呢,这是一个地址,你要非要说诶它有没有所谓的对应一个像域名这样的一个,呃内容呢,哎对你说呢,啊也可以说呢,我们叫对应着谁呢,叫local。哎,Host啊,本机嘛,啊local host本地的这样一个主机啊,就是你可以把它呢看成叫域名也行啊,哎,那对应的地址呢,其实就是它,那这个有什么用呢?比如说咱们后边讲数据库的时候,哎,我在我本机上呢,装了一个MYSQL的一个数据库服务器。
15:09
诶,我就装到我电脑当中的呃,MYSQL这了,那这呢就是我装的一个MYS库的一个数据库服务器啊,那装完以后的话呢,我在本机上我自己装了一个客户端,这个客户端的话呢,其实就是这个软件啊,装完以后的话呢,我用自己的这个软件去访问我自己这个主机的一个数据库服务器,你看我这个位置是不是写的IP就是local host了,诶就是这个意思啊,如果呢,你想访问你本机上的一个服务器地址了,诶我们就选用叫local host,或者呢,写成127.0.0.1,那就可以了啊,那下边的话呢,你也可以专门比如说我表示一个IP。哎,Address啊ANT3,哎就是我本机,那你可以用咱们刚才提到的get by name这个方法,哎,这个方法里边,哎,你就写一个叫啊127.0.0.1,哎这呢表示的就是咱们本机。
16:08
Net一个三啊,就是我们本机的这个IP地址,哎,再执行一下。你看这个呢,会等一下时间,哎这呢就我们本期的这样的地址,好,那刚才呢,咱们相当也提到了如何去实例化,哎,提到一个方法叫get by name,那其中呢,这个呢是咱们叫获取本机的一个地址,那获取本机地址呢,其实也不用这么复杂了哈,反正你获取本机都得写这个都写的呢,都不是别的,都是127.0.0.1,所以我们专门提供了一个方法叫it dress叫get local host,诶这个方法呢,直接获取的就是咱们本机的这个IP地址。哎,这个我叫四。哎,你看我这呢,也去打印一下这个四。你看跟我们这个三是不是一样。
17:03
那那是不是,呃,这个是因为我现在呢,呃,我这自动获取这个IP了啊,我现在呢,在咱们这个局域网内啊,是表示的这样一个IP了,其实还是我本机啊,那还是我本机,嗯,我这块你写一下我自己。嗯,我在哪呢,在这儿呢,你看这不就幺四点一百嘛,哎,其实还是我自己啊行,嗯,这样的话呢,我们获取到的其实是本机,这个呢,获取到的其实也是本机啊,相当于我们刚才呢讲的这样的一个事情,就是如何实例化。嗯,实例化啊,我们的叫I dress。哎,咱们呢,提到了两个方法啊,哎,这两个方法呢,一个是比较通用的叫get by name,哎在这里边呢,去写这个string类型的叫host,可以写域名,也可以写具体的IP地址,哎另外呢,如果你想获取本机的啊,那你直接呢叫,哎这个是不是叫get local host,哎这个方法。
18:08
也是可以的啊,这呢是我们这个如何实例化的两个方法,那么这个对象获取到以后,这个对象呢,我们通常调的话呢,也会调它的另外两个方法啊,这个写一下啊,叫获取本机的一个IP啊。哎,那么两个方法的话呢,其实也很简单,咱们就以咱们的I net2以它为例啊,一个呢,叫get host name。一个是他,哎,另外一个呢,叫get host address。嗯,这呢,我们直接来调一下。I get host name。嗯,Get host address啊一个呢就是获取我们其实就是域名,另外呢,就获取我们的一个主机的一个地址。
19:04
啊,看一下是什么。那这个host name就是我们的域名啊,Host address就是我们这个IP地址。啊,比较简单啊,哎,这块我们写一下啊,两个常用方法。那get,哎,Host name,你看另外一个啊,Get。I host address。嗯,行,那这样的话呢,我们就讲完了,需要大家掌握的就是我们IP啊,如何去表示一个具体的IP,我们呢,相当于就在问如何去获取I net address类的对象啊,通过这样的方式,那这里边呢,也关注一下我们本机,哎,这个回路地址啊,包括呢,我们想表示一个通用的这个呢,你可以选用这样一个方法。行,这呢是我们关于it dress这个类的一个说明。
我来说两句