zoukankan      html  css  js  c++  java
  • day 26

    day 26 网络编程

    01.软件开发架构

    1. 开发软件,必须要开发一套客户端与服务端
      1. 服务端;24小时不间断提供服务
      2. 客户端;用户使用,寻找服务端,获取服务
    2. 软件开发架构;
      1. C/S架构;
        1. Client;客户端
        2. Server;服务端
        3. 优点;软件的使用稳定,并且可以节省网络资源
        4. 缺点;
          1. 若用户想在同一个设备上使用多个软件,必须下载多个客户端
          2. 软件的每一次更新,客户端也必须跟着重新下载更新
        5. C/S架构软件;
          1. 电脑上的QQ、Pycharm等,移动端的微信、天猫等。。。
      2. B/S架构;
        1. Browser;浏览器
        2. Server;服务端
        3. 优点;
          1. 以浏览器充当客户端,无需下载多个软件
          2. 也无需版本更新,直接在浏览器上访问需要使用的软件
        4. 缺点;
          1. 消耗网络资源过大,当网络不稳定时,软件的使用也不稳定
        5. B/S架构的软件;
          1. 在浏览器(客户端)上输入某个域名比如京东(https://www.jd.com

    02.网络编程

    1. 网络编程发展历史;
      1. 所有先进技术都来自军事,通过远程获取数据,所以出现了‘网络编程’。
      2. 早期如何实现远程通信;
        1. 打电话——>电话线
        2. 电脑——>网卡——>网线
        3. 笔记型电脑——>无线网卡——>移动网络
      3. 要实现远程通信必须具备;
        1. 物理连接介质;网卡
        2. 互联网协议;计算机与计算机沟通的介质,相当于计算机之间说话的语言
    2. 互联网协议
      1. 互联网协议又称之为网络七成协议
      2. OSI七层协议;数据传输从上到下运行,接收则从下往上运行
        1. 应用程
        2. 表示层
        3. 会话层
        4. 传输层
        5. 网络层
        6. 数据链路层
        7. 物理连接层
      3. 物理连接层;基于电信号发送二进制的数据
      4. 数据链路层;‘以太网协议’专门处理基于电信号发送到二进制数据
        1. 以太网协议;
          1. 规定好的数据分组方式
          2. 每一台连接网线的电脑都必须要由一有‘网卡’
          3. 每一块网卡都拥有世界上独一无二的编号
            1. 前六位;场上编号
            2. 后六位;流水线号
        2. 交换机;可以让多台电脑连接到一起
        3. 以太网;广播,单播;
          1. 弊端;广播风暴、不能跨局域网通信。
        4. 互联网;让局域网之间可以通信
      5. 网络层;
        1. IP地址;用于唯一标识计算机(局域网)的地址
        2. IP地址;点分十进制
          1. 最小值;0.0.0.0
          2. 最大值;255.255.255.255
        3. IPv4;一开始用电脑人数少时,出现的协议版本,地址长度为32位
        4. IPv6;用来扩展IPv4,地址长度为128位,允许协议进行扩充
        5. 本机IP;回环地址 :127.0.0.1——>localhost
      6. 传输层;
        1. TCP/UDP协议;他们都是基于端口
        2. 端口号;表示电脑上的某一个软件,相当于软件的IP地址
        3. 端口号范围;0~65535
        4. 操作系统中;一般0~1024的端口都被默认使用了(尽量不要动),推荐尽量使用8000之后的端口号
        5. 开发中常用软件的默认端口号
          1. mysql;3306
          2. nibgidb;27017
          3. Django;8000
          4. Toncat;8080
          5. Flask;5000
          6. Redis;6379
        6. 若想服务端与客户端进行通行,必须建立连接,产生两条管道
          1. 一条是客户端往服务端发送消息的
          2. 一条是服务端往客户端发送消息的
        7. TCP协议的工作原理;TCP协议是流式协议
          1. 反馈机制;(正反相同)
            1. 客户端往服务端发送消息(存放于内存中),服务端接收到消息后,必须要给客户端返回一个确认收到。
            2. 否则客户端会在某个时间段内,不停的发送,超过该时间释放内存,删掉该信息。
          2. 三次握手;建连接
            1. 发送链接请求
            2. 发送收到该请求,发送同意该请求
            3. 发送收到已同意请求
          3. 发送数据
            1. write
            2. read
          4. 四次挥手;断连接
            1. 发送断开链接请求
            2. 发送收到该请求
            3. TIME_WAIT;等待时间
            4. 确认再没有消息传来,发送同意该请求
            5. 发送收到已同意请求
      7. 应用层
        1. http
        2. ftp

    03.Socket

    1. Socket在python中是一个模块,可以写一套C/S架构的套接字。
    2. Socket套接字会封装好隔层协议的工作,可以节省开发成本。
    3. import socket # socket为python内置模块
  • 相关阅读:
    OK335xS-Android mkmmc-android-ubifs.sh hacking
    OK335xS-Android pack-ubi-256M.sh hacking
    OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建
    Qt Quick Hello World hacking
    Qt QML referenceexamples attached Demo hacking
    QT 5.4.1 for Android Ubuntu QtWebView Demo
    I.MX6 working note for high efficiency
    QT 5.4.1 for Android Windows环境搭建
    mkbootimg hacking
    Generate And Play A Tone In Android hacking
  • 原文地址:https://www.cnblogs.com/luocongyu/p/11695280.html
Copyright © 2011-2022 走看看