今天是我自学Java的第44天。 感谢你的观看,谢谢你。 话不多说,开始今天的学习: 玩游戏的小伙伴应该知道单机游戏、端游、页游之分。 端游:比如英雄联盟这些,我们若是要玩LOL,得下一个客户端才能玩。 页游:贪玩蓝月…直接打开浏览器就能玩,不用客户端。 一、软件架构 1.C/S架构
端游,就是典型的C/S架构,常见的还有我们使用的各种应用软件。 优点:效果好,速度快(端游相比较页游而言) 缺点:更新慢,并且用户一般很反感客户端更新,很多客户端用户宁愿用很老的版本,也不愿意更新。 2.B/S架构
页游,就是典型的B/S架构,常见的还有淘宝网站这种,当然淘宝也有C/S架构(淘宝App)。 优点:效果差,速度慢(页游相比较端游而言) 缺点:更新快,浏览器一刷就更新了。 3.未来趋势 理论上说B/S架构要更加地厉害,会是将来的一个趋势。 怎么说呢? 就比如12306,可能一年也就用个一两回,还得专门去下一个客户端就很烦,只用浏览器就方便的多。 当初小程序出来时那么的火也是这么个原因,当然事实反响并没有预想中的那么大。 所以B/S架构趋势还比较遥远,技术上还需要一定时间来突破。 对于我们学Java的来说,自然是与服务端打交道了,其中主要接触的是B/S架构 说完了软件架构,那什么叫网络呢? 网络本质上是指多台计算机之间的数据交换。 而网络编程,就是实现多台计算机之间的数据交换。 其中网络三要素:IP地址、端口和协议 二、网络三要素之协议什么叫协议? 用一个例子来理解,现在国际上一个日本人和一个德国人语言不通,它们用什么语言交流?用英语。 英语此时就是一种协议,国际通用语言。 所以在网络里面,协议是定义的通信规则,没有协议的话就像日本人在说日语,德国人说德语根本就没法交流。 其中应用最广泛的是TCP协议: 1.TCP协议 ①TCP称为传输控制协议。 全称为:Transmission Control Protocol ②TCP协议是有连接的通信协议。 也就是在传输数据前先在发送端和接收端建立逻辑连接, 然后再传输数据。 ③数据如何传输?三次握手:
其实这个概念特好理解。这就好比我们打电话:
不要看这个例子好像挺傻的样子,但仔细想想,是不是这个道理?不然可能你讲了半天话,对面其实都没听见…… 优点:传输数据是安全的,适用于重要数据传输。 缺点:每次都有三次握手,消耗资源大,效率相对较低。 2.UDP协议 ①UDP称为用户数据报协议 全称为:User Datagram Protocol ②UDP 是无连接通信协议 即在数据传输时, 发送端和接收端不建立逻辑连接,也就是不握手。 优点:通信效率高, 所以通常都会用于音频, 视频和普通数据的传输。 缺点:由于UDP面向无连接, 不能保证数据的完整性, 因此在传输重要数据时不建议使用 UDP 协议. 就比如说视频聊天,我们最在乎的是什么? 是不能卡,不能有延迟,我宁愿丢失几帧的数据(视频数据有稍许丢失对用户影响不大),不卡就行,所以要求就是效率要高。 总之TCP协议也好,UDP协议也罢,根据不同的要求有不同的应用场景。 三、网络三要素之IP 1.定义 IP是英文Internet Protocol的缩写。意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。 IP地址是网络中计算机的唯一标识,通过IP地址可以找到指定计算机。 不要看概念好像很难懂,说白了就有点类似于人类中的身份证。 2.版本 比如说:192.168.1.101 这就是一个IP地址,相信很多人或多或少都接触过。 这是一个十进制的数据,把它转换成二进制看看? 其本质上是一个32位的二进制数字,一个字节有8位,所以其占用4个字节,也就是一共32位。 所以理论上一共有多少个IP地址? 一位要么为0要么为1,故一共有2的32次方,也就是约43亿个IP地址。 全球一共多少人?70多亿。 IP地址不够用,面临枯竭的危险。 所以有了IPv6版本。 IPv6占用16个字节,也就是128位,故一共有2的128次方个IP地址。 这可就厉害了,数量超级大,别说是人类,就是全球所有动物加起来都完完全全够用。 3.常用命令 Windows+R,输入cmd,可以进入DOS窗口 ①查看本机IP地址 在控制台输入:ipconfig ②网络是否连通 在控制台输入:ping 空格 IP地址 例如: ping 220.181.57.216 就是检查和220.181.57.216这个地址是否连通了。 ③特殊的IP地址 本机IP地址:127.0.0.1 、 localhost 四、端口号port1.定义 我们都知道计算机里面有很多应用程序。 根据IP可以找到对应的计算机,那如何找到对应的应用程序呢?端口就可以作为这些应用程序的唯一标识。 准确地说,端口是指定进程的唯一标识,一个应用程序有1个或者多个进程(1或者多个端口)。 2.取值 用2个字节表示,取值是0~65535。 我们在计算机里可以给对应的进程定义一个端口号。 其中0~1023之间的端口号用于一些知名的网络服务和应用,不可用于其他进程。 所以根据IP加上端口:可以找出对应计算机里的对应程序。 |
|
来自: 刘小爱v > 《Java学习笔记》