cs架构和bs架构.课堂小结day26

软件开发架构

客户端:用户安装的软件;mysql

服务端:统一管理数据库的主机中的软件就叫作服务端,再后来服务端不仅是管理数据,外加处理业务逻辑。sql

c/s架构

​ 应用领域:mongodb

  • QQ数据库

  • 大型网络游戏编程

    计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。浏览器

    架构要求:服务器

    1. 用户操做系统安装客户端;产商操做系统部署服务端
    2. 每一个用户须要独立安装软件、服务端升级也要每一个用户升级

b/s架构

应用领域:网络

  • 淘宝
  • 京东

统一客户端即默认安装用户电脑中的浏览器,访问同种类的网站,具体业务的处理根据相应协议和标准提供通用的服务器程序,在不一样的服务器处理。架构

网络编程

实现远程通讯必须具有:socket

1.物理链接介质 ---》 网卡

2.互联网协议

互联网协议

互联网协议又称为网络七层协议,OSI七层协议,OSI是一个世界标准组织。

OSI

应用层: 应用层、表示层、会话层

​ Talent,FTP,SMTP,DNS,HTTP以及其余应用协议

传输层:TCP,UDP

网络层: IP,APP,RARP,ICMP

网络接口:数据链路层、物理层

​ 各类通讯网络接口(以太网等)(物理网络)

- 物理链接层
           基于电信号发送二进制的数据0101010111。
           010: 你  you
           101: 我  I

        - 数据链路层
            数据链路层的 "以太网协议",专门用于处理基于电信号发送二进制的数据。

            以太网协议:
                1.规定好电信号数据的分组方式。
                2.每一台链接网线的电脑都必需要由一块 "网卡"。
                    - 网卡由不一样厂商生产的
                        - 每块网卡都会有世界上独一无二12位的编号 "mac"地址。
                            - 前6位: 厂商号
                            - 后6位: 流水号

         - 交换机:
                可让多台电脑链接到一块儿。

            基于以太网协议发送数据:
                特色:
                    广播、单播

                弊端:
                    广播风暴、不能跨局域网通讯。

        - 互联网:
                让局域网之间进行通讯。

        - 网络层
            IP地址: 用于标识惟一的一台计算机(局域网)的地址。
            IP: 点分十进制
                最小值: 0.0.0.0
                最大值: 255.255.255.255

            IPV4(了解):
                一开始用电脑的人很少,因此出现IPV4的协议版本。

            IPV6(了解):
                括号IP。

            本机IP: 回环地址 127.0.0.1 ---> localhost

        - 传输层
            TCP/UDP协议,他们都是基于端口工做的。

            - 端口号: 标识电脑上某个一个软件。

            - 端口号范围: 0-65535

            注意:
                1.操做系统中,通常0-1024的端口都被默认使用了(0-1024不要动)
                2.尽可能使用8000以后的端口号 8001

            开发中经常使用软件的默认端口号 (默写) :
                mysql: 3306
                mongodb: 27017
                Django: 8000
                Tomcat: 8080
                Flask: 5000
                Redis: 6379


            若想服务端与客户端进行通讯,必需要创建链接,产生双向通道。
                一条是客户端往服务端发送消息的。
                另外一条是服务端往客户端发送消息的。

        - 应用层
            http
            ftp


总结:
    ip:用于惟一标识某一台计算机的位置。
    port: 端口用于确认计算机上的一个应用软件。

    ip + port: 世界上某一台电脑上的一个应用软件。

TCP协议的工做原理:

- TCP是一个流式协议

- 三次握手,四次挥手(*******):
    - 三次握手建链接:
        创建双向通道,创建好链接。
        - listen: 监听
        - established: 确认请求创建链接

    - 发送数据:
        write
        read
        客户端往服务端发送数据,数据存放在内存中,须要服务端确认收到,数据才会在内存中释放掉。

        不然,会隔一段时间发送一次,让服务端返回确认收到。
        在一段时间内,若服务端仍是不返回确认收到,则取消发送。并释放内存中的数据。

    - 四次挥手断链接:
        - TIME_WAIT: 时间等待

Socket

1.什么是Socket?
        socket是一个模块,能够写一套C/S架构的套接字。

    2.为何要使用Socket?
        socket套接字会封装好各层协议的工做。
        好处:
            能够节省开发成本。

    3.如何使用
        import socket


注意: 客户端与服务端必须尊循:
    一端send,另外一端recv
    不一样两端同时send或recv
相关文章
相关标签/搜索