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,在编写网络编程时,一定有两台代码代表着服务器和客户端

     

  • 相关阅读:
    项目开发基础概念
    django 对接elasticsearch实现全文检索
    win10安装docker
    Mac VMware Fusion 中修改 centos7 虚拟机的磁盘空间、扩容
    CentOS 7下 YUM 本地仓库的搭建
    mac与虚拟机传输文件
    mac和windows快速锁定电脑
    rpm -qa详解
    虚拟机安装centos6
    mac与iPhone互传文件
  • 原文地址:https://www.cnblogs.com/xiamenghan/p/9917829.html
Copyright © 2011-2022 走看看