python的websockets库
安装 pip install websockets
分为客户端和服务端两部分
服务端一般与异步的库一起用 因为客户端不可能只服务一个客户 所以要用异步处理多个客户
以asyncio示例
from websockets.server import serve
import websockets
import asyncio async def start(ws,path): # 第一个参数是websocket对象 第二个基本用不到 可以不写 后面回调这个函数的时候 参数会自动传
clickMsg = await ws.recv() # 接收客户端的消息 几个常用的方法 send() 发送数据 close() 关闭连接 await的作用是挂起当前任务 等待后面的代码执行完成 这之间软件回去执行其他异步任务
print(clickMsg)
await ws.send('ok')
await ws.close() async def wsmain(): # websocket主函数
async with serve(start,'0.0.0.0',12333): # 解释 with serve 开启监听 第一个参数是连接后要执行的函数 第二个是监听的地址 0.0.0.0 表示所有地址 也可以写本机公网ip 第三个参数是坚挺的端口
while 1: # 解释 后面要执行这个函数 如果不加这个 执行完监听就完了 加这个死循环是要一直监听 不让服务关闭
asyncio.sleep(1) asyncio.run(wsmain()) # 运行
客户端
from websockets.sync.client import connect def hi():
with connect('ws://localhost:12333') as ws:
ws.send('connect')
serverMessage = ws.recv()
print(serverMessage) hi()
有时候我们想要客户端断开连接运行一些代码 怎么写呢 或者说监听连接人数 有一个断开的就减一
可以在服务端监听连接的地方 也就是with serve的地方 加一个try 然后捕获相应的错误
python的websockets库的更多相关文章
- python 各种开源库
测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...
- Python的常用库
读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...
- Python底层socket库
Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- 【C++实现python字符串函数库】一:分割函数:split、rsplit
[C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...
- python使用cookielib库示例分享
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例 该模块主要功能是提供可存储cookie的对象.使用此模块捕获 ...
- Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED
Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...
- 【python】标准库的大致认识
正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...
- Python 图形 GUI 库 pyqtgraph
原文 Python 图形 GUI 库 pyqtgraph pyqtgraph 是纯 Python 图形 GUI 库,基于PyQT4 /pyside和NumPy.它主要目的用于在数学/科学/工程中.M ...
随机推荐
- quarkus依赖注入之九:bean读写锁
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...
- quarkus依赖注入之十一:拦截器高级特性上篇(属性设置和重复使用)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...
- centos7.X安装nginx – 东凭渭水流
1.安装nginx需要使用root用户 2.配置nginx源 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release ...
- 循环神经网络RNN完全解析:从基础理论到PyTorch实战
在本文中,我们深入探讨了循环神经网络(RNN)及其高级变体,包括长短时记忆网络(LSTM).门控循环单元(GRU)和双向循环神经网络(Bi-RNN).文章详细介绍了RNN的基本概念.工作原理和应用场景 ...
- 《SQL与数据库基础》21. 分库分表(一)
目录 分库分表(一) 拆分策略 垂直拆分 垂直分库 垂直分表 水平拆分 水平分库 水平分表 技术实现 MyCat概述 概念介绍 环境准备 目录介绍 MyCat入门 配置 分片配置(schema.xml ...
- 震坤行根据ID取商品详情 API
item_get-根据ID取商品详情 注册开通 zhenkunhang.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) se ...
- 在阿里云上部署Solid服务器
1.Solid是什么? Solid(中文文档)是一个令人兴奋的新项目,由万维网发明者 Tim Berners-Lee 爵士在麻省理工学院启动. 该项目旨在从根本上改变 Web 应用程序的中心化趋势, ...
- windows10 jdk下载及环境配置
一.环境准备 windows10 系统 jdk 各种版本(配置大同小异) 二.下载并安装jdk 下载地址:http://www.oracle.com/technetwork/java/javase/ ...
- Solution -「洛谷 P5659」「CSP-S 2019」树上的数
Description Link. 联赛原题应该都读过吧-- Solution Part 0 大致思路 主要的思路就是逐个打破,研究特殊的数据得到普通的结论. Part 1 暴力的部分分 暴力的部分分 ...
- Pisces.IM.Mood 前言
关于 Pisces.IM.Mood Mood Pisces.IM.Mood 一款基于TCP协议的即时通讯开源系统 多个客户端目前支持以下功能: 支持文字,图片,文件,emoji表情的发送 文件限制为5 ...