python websocet回调_Python3+WebSockets实现WebSocket通信

本文介绍如何使用Python3和WebSockets库搭建WebSocket通信。首先讲解WebSocket的基本协议格式和环境配置,然后展示服务器端和客户端的Python代码实现,包括身份验证和消息收发。此外,还提到了HTML版客户端的限制。
摘要由CSDN通过智能技术生成

一、说明

1.1 背景说明

前段时间同事说云平台通信使用了个websocket的东西,今天抽空来看一下具体是怎么个通信过程。

从形式上看,websocket是一个应用层协议,socket是数据链路层、网络层、传输层的抽像;从应用场合上看,websocket可以使用javascript实现,而socket不能用javascript实现(真不能吗?我不太确定);从实际效果上看,和一般的socket连接用起来没什么区别。

我们知道http是短连接的,反复建立和销毁连接比较耗费资源,另外http协议经常头部内容比主体内容还长也比较浪费资源;websocket可以认为就是一个内容使用载荷固定格式的socket长连接。

websocket基本协议格式如下,更多说明见RFC 6455:

1.2 环境说明

当前环境我使用Python3+WebSockets库,WebSockets直接使用pip安装即可:

pip install websockets

二、代码实现

长连接是有状态的,所以一般在且只在最开始进行一次身份认证,而后通信过程不需要认证信息。我们这里实现一个简单的用户名密码认证过程。长连接更多内容可参考“长连接与短连接的安全差异讨论”。

另外,注意把代码中的ip改成自己的。

2.1 python服务端代码

importasyncioimportwebsockets#检测客户端权限,用户名密码通过才能退出循环

async defcheck_permit(websocket):whileTr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值