Python Socket 编程 (1) - 基本概念

  1. HTTP、Socket 和 TCP

五层网络模型(其实有七层,有两层用的很少)。从上往下进行拆包,从下往上进行组包。

五层网络模型

(TCP 和 UDP 的区别?)

操作系统为我们提供了 Socket 接口,它不属于以上的任何一种协议。通过 Socket 编程,可以使得我们可以和传输层进行交互。

(WebSocket)

Socket 不属于计算机网络中的协议,HTTP、TCP 等才属于计算机网络中的协议。HTTP 协议属于处于TCP协议之上的应用层协议。Socket 属于连接我们的应用 和 TCP 层,是的我们自己的应用可以和 TCP 层进行交互,这样的话就可以实现我们自己的协议,就没有必要在 HTTP 协议上进行开发。比如 QQ 就定义了自己的应用层协议,实现类与HTTP处于同一层级的协议。

  1. Socket 中 Client 和 Server 实现通信

(uwsgi 组件)

数据传输:服务器A 到 服务器B,之后由于每一个应用程序占用一个端口(端口机制),这样的话操作系统就可以将端口和应用程序绑定起来。

凡是使用 Socket 编程,都需要指定一个端口。

Socket 编程流程

HTTP 请求在很多时候不指明 keep-alive的话就默认会关闭。

QQ 采用 TCP 协议,早期使用 UDP 协议。

  1. Socket 实现聊天和多用户聊天

  2. Socket 模拟 http 请求

  3. 小结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Socket创建函数 socket.socket(socket_family, socket_type, prot...
    JianMing阅读 6,099评论 1 13
  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,250评论 0 6
  • 简评:socket 和 socket API 用于通过网络发送消息,它们提供了一种进程间通信(IPC)方式。网络可...
    极小光阅读 761评论 0 3
  • 基础知识 计算机网络 A:IP地址 (1) 用来标识网络上一台独立的主机 C: 传输协议:通讯的规则。例如:T...
    So_ProbuING阅读 1,343评论 0 1
  • 首先感谢猫叔小灶群的今日话题,让我得以梳理和盘点一下自己的付费网络课程,废话少说,直接整理! 按平台进行分类。 平...
    陶心暖暖阅读 1,936评论 5 9

友情链接更多精彩内容