寒假又开始更新java了,之后更新的是b站教程韩顺平老师的课,编译器我从idea换成eclipse(因为蓝桥杯只有eclipse,要先熟悉)
1.网络相关概念
网络通信
网络
ip地址
1.简单来说ip地址是每一台主机的标识
类似于我们现实生活中的地址(或身份证)
能够准确的根据b主机的ip地址来向b发送信息
2.可以在操作命令行(cmd)输入ipconfig来查看ip地址
3+4+5.对于IPV4
是四个字节(32位)表示一个ip
我们把每一字节分开,中间有一个.(点)
每一个字节的范围就是0-255(IPV4是十进制表示)
比如192.168.0.102,就是一个IPV4地址
ip地址的组成是网络地址+主机地址
下面有具体分类
6+7.IPV6
因为IPV4开发认为只有主机(计算机)才会连入我们的网络,只设计了四个字节,其实随着物联网的发展,电视,小度什么的,然后我们ip地址不够用,所以出现了IPV6协议。
关于IPV6,不是6个字节,而是16个字节(128位),IPV6有很多不同表示方法
看我上面那个图的话是十六进制表示的,那么一个十六进制数是4位,4个就是16位,就是两个字节
两个字节一共8个,所以是16个字节,用和IPV4类似的:分隔
IPV4地址分类
域名和端口号
1.域名.其实我们对应的域名相当于一个主机ip地址的映射
比如www.baidu.com其实就是百度服务器ip地址通过HTTP协议映射过来的
让我们更方便的记住网址(url)而不是去记ip地址(那么多数谁记得住)
2.端口号
你可以这么理解
主机需要通过ip(域名)+端口才能准确的访问到对应主机的对应功能
端口就是为功能而设计的
来区分可能一个主机(服务器)有不同功能,我们想要用哪个功能我们就访问对应的ip+端口即可
2个字节表示端口
网络开发中尽量不要使用0-1024的端口,因为这些已经被占用了
因为你的主机本身就是带着一些程序(什么文件传输协议ftp占21,smtp发邮件的占25,http协议,占80)的,一般他们占用的就是比较看钱的端口就0-1024
不要发生冲突,所以不要用
还有一些已经被占用的
mysql也是一个服务,占用了端口号,还有sqlserver也是一个服务占用一个端口号
网络协议
TCP/IP协议
数据的组织形式就是协议
网络通信协议从开始的OSI模型->TCP/IP模型各层有对应的协议
这里的应用层可以说是你的数据变成了人能看懂的话
但是应用层是建立在传输和网络层上的
比如你向着某个人传达消息
首先他必须可以很联系到(在你身边)-网络层
其次你必须说出来你想传达的信息然后通过空气,声音传播到他耳朵里-空气就可以算作传输层
TCP和UDP
TCP(传输控制协议):可靠效率低
三次握手就是需要三次确定,然后进行数据的传输,还有三次握手(其实也是用数据传输的方式进行的)
比如说这个例子
UDP(用户数据协议):高效不可靠
比如,kim在厕所,有可能收到,也有可能没收到