美文网首页
Python学习23-socket编程

Python学习23-socket编程

作者: 残阳夕露 | 来源:发表于2018-11-07 23:10 被阅读75次
    查看所有Python相关学习笔记

    socket编程

    • 应用使用socket编程接口来通过TCP/IP协议进行通信

    网络协议栈

    • TCP、UDP对应传输层,IP协议对应网络层
    • 数据处理
      • 应用层
    • 数据传输
      • 传输层
      • 网络层
      • 数据链路层
      • 物理层

    socket概念

    • 可以用来进行进程间通信(包括网络通信)
    • 操作系统API编程接口的概念
      • 操作系统的服务,以库的形式封装调用接口给应用程序
        • 内存管理
        • 进程
        • 线程
        • 文件
        • socket
    • 是操作系统创建的概念
      • 进程好比电话
      • socket好比电话插口
      • 进程创建一个socket,就像电话用线接上一个插口
      • 不同的进程通过socket通信,就像电话接上电话插口进行通话

    socket的参数项

    • 使用什么传输层、网络层协议
      • 目前最常用的是TCP,IP协议
      • 也有其他的传输层协议:UDP、SCTP
      • 网络层,比如:IP协议,也分IPv6和IPv4
    • 绑定哪个网络层地址
      • 比如IPv4协议就是一个IPv4地址,IPv6协议就是一个IPv6地址
      • 网络层地址决定了唯一网络节点(比如电脑,手机)
    • 使用什么端口
      • 主机上会有很多进程,接受到的网络消息该送给哪个进程处理呢
      • 用一个号码来标识,我们叫它端口号
      • 比如http服务进程通常采用80作为端口号

    python中的socket

    • TCP socket通信的特点

      • 服务端vs客户端
      • 通过(虚拟)连接
      • 建立连接(three way handshake)(三次握手)
      • 进行通信
      • 拆除连接
      • 客户端-->服务端-->客户端-->服务端
    • 服务器端

    • 客户端

    多个客户端同时连接

    TCP传输的特点:流

    • 消息的结构

    相关文章

      网友评论

          本文标题:Python学习23-socket编程

          本文链接:https://www.haomeiwen.com/subject/iwabxqtx.html