Python 爬阶梯 |什么是 Python 的 socket 编程

你应该看过一些实时动态的数据,比如一些数据的涨幅:

或者一些聊天室:

除了轮训外,类似上面这些实时动态数据的获取以及发送,都用到了 socket 技术。

什么是 Socket?

你可以把它理解为一个通信的工具,主要是实现端到端的数据传输,而这个端点就是 socket,人们也常会说它是套接字,它主要由 ip 和端口构成,例如:

127.0.0.1:8080

这就是一个 socket。

当两个 socket 能够确认连接,在传输层中,它们之间就可以开始通信了。

当然在通信的过程需要定义传输的接口协议,比如 TCP、UDP。至于传输层,是计算机网络的分层之一,这些我往后会专门跟你讲计算机网络相关的知识。

了解了什么是 Socket 之后,接下来我跟你说说,在 Python 中如何实现 Socket 之间的通信。

Python 操作 Socket

要实现一个 socket,一般来说需要这么几个步骤:

本文隐藏内容 登陆 后才可以浏览
我们现在先开启服务端,再开启客户端,看看效果:

可以看到,当服务端开启的时候,就开始监听客户端的 socket 连接,客户端连接后可以收到服务端发来的消息。

这是 Python 对 socket 最简单的实现。

刚刚的演示代码主要是为了让你明白 socket 的创建流程,实际上 socket 可以使用我们之前说过的 with 语句。

这是服务端例子:

这是客户端例子:

通过这一个小例子(最好是你把这几行代码敲一下,运行一下),相信你对 socket 有了些许了解了,但这仅仅是一个前菜,如何群发,如何发给特定的一个人,或者说如何通过 Python 实现一个聊天室?下一篇我给你说道说道。

发表回复