zoukankan      html  css  js  c++  java
  • cs架构和bs架构.课堂小结day26

    软件开发架构

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

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

    c/s架构

    ​ 应用领域:

    • QQ

    • 大型网络游戏

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

      架构要求:

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

    b/s架构

    应用领域:

    • 淘宝
    • 京东

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

    网络编程

    实现远程通信必须具备:

    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
    
  • 相关阅读:
    nginx服务器安装及配置文件详解
    关于mysql字段时间类型timestamp默认值为当前时间问题
    怎样才能自学好Java?
    别再问我做一个网站多少钱了!
    2016年里做前端是怎样一种体验
    从网上找的 visual studio 的各个版本下载地址,vs2010/vs2012/vs2013带注册码
    强烈推荐:程序员接私活那点事
    夹缝中生存的个人开发者
    关于ODP.NET连接数监控及相应的windbg分析提示
    Oracle虚拟索引,大表或生产环境下预估索引效果的好东西
  • 原文地址:https://www.cnblogs.com/shin09/p/11694299.html
Copyright © 2011-2022 走看看