美文网首页
Python Socket 编程 (1) - 基本概念

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

作者: DejavuMoments | 来源:发表于2018-11-21 21:19 被阅读0次
  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. 小结

相关文章

网友评论

      本文标题:Python Socket 编程 (1) - 基本概念

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