zoukankan      html  css  js  c++  java
  • 网络编程基础

    一 网络编程:

    ​ 1.软件开发架构:

    ​ c/s架构:

    ​ Client:客户端

    ​ Server:服务端

    ​ 比如:微信客户端、QQ客户端等。。。

    ​ 优点:

    ​ -软件的使用稳定

    ​ -节省网络资源

    ​ 缺点:

    ​ -安装麻烦,用户体验差

    ​ -软件的每一次更新,用户都需要重新下载或更新版本

    ​ b/s架构:

    ​ Brower(本质上也是一个客户端):浏览器

    ​ Server:服务端

    ​ 比如:在浏览器上输入一个网址

    ​ 优点:

    ​ -软件的使用方便

    ​ -无需跟着软件的更新去下载

    ​ 缺点:

    ​ -如果网络不稳定,软件的使用就不稳定

    ​ 注:比较流行:b/s架构,用户体验高

    ​ 客户端与服务端:

    ​ 服务端:24小时不间断的提供服务

    ​ 客户端:客户想要找服务是,就去访问服务端

    二 学习脉络

    ​ 学习网络编程,并发编程,数据库---->可以开发一套c/s架构的软件

    ​ 学习前端(html/css/js, web框架(Django)------>可以开发一套b/s架构的软件

    三 计算机与计算机之间通讯

    ​ -语言是人与人之间沟通的介质!

    ​ -协议是计算机与计算机之间沟通的介质!

    四 网络编程

    ​ -所有最新最牛的技术,都源自于军事:

    ​ -可以远程实时获取数据,实现远程通信

    ​ -如何实现远程通信:---->物理连接介质

    ​ -电话:---->电话线

    ​ -纯屏电脑(大屁股电脑):-------->网线

    ​ -笔记本电脑:-------->网线、网卡

    ​ -电脑与电脑通信:--------->’互联网协议‘

    ​ 让所有产商的电脑都遵循这套协议,实现所有电脑之间无障碍通信

    ​ ’互联网协议‘是计算机界的中文、英文。

    五 互联网协议(OSI七层协议):

    ​ -OSI 七层协议:

    ​ -应用层

    ​ -会话层

    ​ -表示层

    ​ -传输层

    ​ -网络层

    ​ -数据链路层

    ​ -物理层

    ​ -这里需要关注的是5层:由下自上

    ​ -应用层

    ​ -传输层

    ​ -网络层

    ​ -数据链路层

    ​ -物理层

    ​ 1)物理层:获取到对象计算机的电信号数据

    		如:0101010110
    

    ​ 产生的问题:无法获取具体数据内容,将电信号数据扔给数据链路层

    ​ 2)数据链路层:

    ​ -我要知道数据是什么?

    ​ -我要知道数据是给谁的?

    ​ -’’以太网协议‘‘:

    ​ 1)规定一套分组的方式:

    ​ 获取电信号真实数据,电信号是一个数据包。

    ​ head:18个字节

    ​ -6:发送者

    ​ -6:接收者

    ​ -6:数据类型

    ​ 2)每一台电脑必须要有一个网卡:

    ​ -每一块网卡都会有一串世界上对一无二的数字:

    ​ -12位16进制的数字,称之为’‘mac地址’‘:

    ​ -前6位:产商号

    ​ -后6位:流水号

    ​ mac地址作用:

    ​ 标识全世界上独一无二的计算机

    ​ ’‘以太网协议’‘的工作方式:

    ​ -单播:单独与个人通信(其他人收不到)

    ​ -广播:在整个局域网内传播,实现通信(其他人也可以收到)

    ​ 缺点:

    ​ -广播风暴

    ​ -只能在局域网内实现通信,无法跨局域网实现通信

    总结:-
    -mac地址:标识全世界上独一无二的计算机

    ​ 3)网络层:

    ​ -实现全世界某一台计算之间的通信

    ​ -ip地址(ip协议):

    ​ -点分十进制的数字组成

    ​ -180.101.49.11

    ​ -最小范围:0.0.0.0

    ​ -最大范围:255.255.255.255

    ​ -ip的版本:(ip地址的数量不一样)

    ​ -IPV4:

    ​ -IPV6:

    -ip的作用****
    用于表示全世界某一台计算机所处局域网的位置
    总结:
    ip地址+mac地址:标识全世界某一个局域网内的某一台计算机

    ​ 4)传输层:

    ​ tcp与udp都是基于 ’‘ 端口 ’‘ 实现通信的

    ​ -TCP协议:

    ​ -UDP协议:

    ​ 主要是软件与软件之间进行通信

    ​ -port端口:

    ​ 用于标识计算机中某一个独一无二软件

    ​ 总结:

    mac地址 +ip地址 +port 端口:标识的是全世界范围内某一个局域网内某一 台计算机上的某一个软件

    ​ 5)应用层:

    ​ -大佬们定制好的一套牛x的协议

    ​ -http协议

    ​ -ftp协议

    ​ -自定义的协议

  • 相关阅读:
    TextWatcher 监视EditText的输入
    【Android】SqLitOpenHelper操作数据库
    【第一个开源项目】最完整的Andoird联系人操作,完美支持联系人的各种属性操作。
    Ext.ux.grid.RowEditor更新
    『转』如何判断Store加载完毕
    MyEclipse8.6安装svn插件
    『转』Eclipse中设置编码的方式
    『转』jsonlib json 格式 Date
    Spring Security的关键组件
    Ext.grid之numbercolumn格式化输出
  • 原文地址:https://www.cnblogs.com/xy-han/p/11983247.html
Copyright © 2011-2022 走看看