zoukankan      html  css  js  c++  java
  • 网络通讯

    首先应用软件的构架:1、C/S(client === server)  2、B/S(browser ===server)。在不同的计算机上 一个安装客户端 另一个安装服务端 通过网络来通讯

    那什么是网络通讯呢?1、要完成通讯必须具备的条件:物理连接介质(网线,wifi,光纤),2、必须遵循相同的标准。

    在计算机网络中同样需要具备以上两个条件,作为应用软件开发者,不需要关心第一步 重点是通讯的标准(通讯的协议)

    网络协议:

      open system interconnection

      OSI七层模型

    应用(表示和会话都属于应用层,应用层没有固定的协议 需要双方程序员商量)
    表示
    会话
    传输(TCP/UDP port端口号 用于唯一标识一个应用程序)
    网络(ip协议 找到一个唯一的局域网 再找到局域网的一台计算机)
    数据链路层(以太网协议 发送二级制的格式 mac标识唯一一台计算机)
    物理 (发送二进制)
    osi 七层协议

    我们需要关注的是传输层的协议 ,但是像TCP这种协议原理还是很复杂的,为了简化这些复杂操作,在传输层之上封装了socket抽象层,就可以在完成网络通讯时直接使用socket封装好的功能

    所以说学习网络编程 其实就是在学socket      socket是什么???
       socket翻译过来称为套接字 是对底层的 TCP、 IP、 UDP等网络协议进行封装 使得上层的应用程序开发者,不用直接接触这些复杂的协议(其实就是一个封装好的模块)

     

    TCP和UDP是传输层最常见的协议

    TCP主要传输方式是三次握手,四次挥手

      优点:通过三次握手来与服务器建立连接,可以保证数据的完整性

      缺点:传输效率低

      使用的场景是文字聊天、支付宝转账等等

    UDP主要传输方式就是不需要建立连接,直接发送

      缺点:不能保证数据的完整性

      优点:传输效率比TCP高

      使用场景是视频通话,语音通话

    在python中使用socket需要关心的是ip地址,port端口,传输协议TCP/UDP,你要发送的数据data,在编写网络编程时,一定有两台代码代表着服务器和客户端

     

  • 相关阅读:
    Fetch的使用
    if判断中的true和false
    分布式、微服务和集群的初步了解
    关于视频的知识点
    ajax请求
    jq的遍历关系元素方法集合
    docker安装Mysql
    设计模式系列之七大原则之——开闭原则
    设计模式系列之七大原则之——里式替换原则
    设计模式系列之七大原则之——依赖倒转原则
  • 原文地址:https://www.cnblogs.com/xiamenghan/p/9917829.html
Copyright © 2011-2022 走看看