网络编程
生产环境下,通常网络编程和前面 线程结合起来使用过。
网络: 可以用来连接计算机和计算机之间的通讯,分为:局域网,广域网,城域网
局域网:例如公司内部,班级内部的这种内部网 :192.168.. 10.
广域网:连接国家之间,国家内部的网络
城域网:连接城市内部的网络
网络编程:通过上述的网络技术,来实现计算机之间内部程序的 数据交互
OSI模型
早期:由于计算机硬件 和 操作系统软件上 相互可能存在不匹配的情况,而导致计算机之间无法正常使用 网络进行通讯
后来:为了解决这个问题,国际标准化组织ISO 制定了 计算机之间通讯时,需要采用一种通讯模型 这个模型就叫OSI模型
OSI (操作系统通讯接口)
OSI七层模型
上三层
应用层,表现层,会话层
上三层都跟我们的程序有一定的关系。
应用层:就是我们的程序
表现层:对应用层的数据进行转换,变成计算机能认识的数据
会话层:建立计算机之间的会话通讯通道
传输层
下三层
网络层,数据链路层,物理层
下三层都跟操作系统的底层有关,或者是跟物理硬件有关
网络层:就是我们IP,Mask地址这些东西
数据链路层:在硬件之间进行数据以 ‘帧’为单位的 传输层
物理层:就是硬件 网卡 网线 路由器 交换机 ……
TCP/IP分层模型
上述的OSI 7 层太过于复杂,程序员又是一帮懒货,所以就简化为4层模型

应用层:上三层,就是我们的应用程序
传输层:将上三层的数据 和 下三层的数据 进行双向传输
网络互连层:使用IP建立网络之间连接
网络接口层:计算机通讯网络入口
IP地址、端口、防火墙

IP地址和域名:都是家的家庭地址
端口:防火墙和家的门
防火墙:家外的院墙
不要轻易的关闭 防火墙
网络传输协议
服务端和客户端
客户端:Client 胖客户端(手机上APP,网络游戏的安装端) 瘦客户端(各种浏览器Browser)
胖客户端:需要你使用安装包进行安装客户端
瘦客户端:就是浏览器
服务端:Server端,相应客户端请求
胖客户端和瘦客户端的区别
1、不同的地方
C/S架构模式系统:客户端需要你安装的
B/S架构模式系统:客户端就是浏览器,不需要你安装
2、不同的地方
C/S架构模式系统:如果客户端程序,需要更新,那么就需要下载 更新包
B/S架构模式系统:如果客户端程序,需要更新,只需要刷新浏览器即可(例如:淘宝做改版,你只需要重新刷新淘宝页面即可)
我们以后工作,都是以B/S为主,C/S在我们程序就是一种辅助。
通信协议分类
从通讯协议上面来讲:底层协议就2大体系:TCP/IP协议,UDP通讯
HTTP协议,WEBSOCKET协议,这些都是针对TCP/IP协议的上层封装
