Python实现WebSocket通信
WebSocket 协议主要用于解决Web前端与后台数据交互问题,在WebSocket技术没有被定义之前,前台与后端通信需要使用轮询的方式实现,WebSocket则是通过握手机制让客户端与服务端建立全双工通信,从而实现了更多复杂的业务需求。
在各种复杂的Web框架中往往集成有自己的WebSocket插件,而这里面隐藏了许多实现细节,下面我们将自己实现一个纯Python版的WebSocket通信功能,并用该技术实现动态绘图,远程CMD执行工具等。
前端index.html
代码如下.
|
后端的main.py
执行处理任务,主要处理流程集中在handler_msg
函数上.
import socket,struct,hashlib,base64 |
上方代码只是一个案例,让我们继续改进,增加一个动态图形绘制功能。
前端代码需要配合echarts
绘图库代码如下:
|
后台我们主要代码不需要动,只需要修改handler_msg
处理流程即可.
# 主函数,用于实现数据交互 |
我们继续改进一个案例,实现一个批量命令行执行器,我们使用xterm
库实现Web命令行,用Jquery向后端发送数据,该工具前端代码如下。
<html> |
后端代码需要增加一个CalculationIP
来计算IP地址范围,其他的地方保持不变.
def CalculationIP(Addr_Count): |