目标

尝试最简单的代码创建一个服务器并在客户端收发信息。

主要参考的是官方文档的首页:https://websockets.readthedocs.io/
(还需要 asyncio 库的一些知识,可见之前的博客 翻译《使用asyncio的一个指南》作者:Andrew Crozier)

注意,如果还未安装的话,需要使用pip install websockets来安装

代码

作为测试,代码将对服务器发送1~19数字,而服务器接收到后会返回它是否能被3整除。


服务器 MyTestServer.py 代码如下:

import asyncio
import websockets#接收到信息时:
async def echo(websocket):async for message in websocket:#显示收到的信息print("server recieve: " + message)#返回这个数字是否能被3除尽await websocket.send(str(int(message)%3==0))async def main():#建立服务器:async with websockets.serve(echo, "localhost", 8765):await asyncio.Future()  # run foreverasyncio.run(main())
  • 首先用websockets.serve以localhost为主机的8765 端口创建服务器,并且指定当收到信息时会调用名为 echo 的函数。
  • echo 函数接收 WebSocketServerProtocol为参数,其中包含有收到的信息。之后,使用 websocket.send 发送信息。

客户端 MyTestClient.py 的代码如下:

import asyncio
import websocketsasync def main():#连接上服务器:async with websockets.connect("ws://localhost:8765") as websocket:#发送0~19数字,并显示收到的信息:for i in range(20):await websocket.send(str(i))message = await websocket.recv()print(message)asyncio.run(main())
  • 首先用 websockets.connect 连接服务器。
  • websocket.send发送信息
  • websocket.recv接收信息

运行

尝试Python的websockets库的最基础功能相关推荐

  1. Python 使用 pylab 库实现画线功能的方法详解

    这篇文章主要介绍了 Python 使用 pylab 库实现画线功能的方法, 结合具体实例分析了 Python 使用 pylab 库的相关函数实现画线功能的操作技巧, 并附带说明了相关函数与参数功能, ...

  2. python PIL(pillow) Image模块的基础功能

    引用文章: python之PIL模块基础功能 https://www.cnblogs.com/watertaro/p/9074453.html

  3. python的numpy库可以做什么功能_简单记录numpy库的某些基本功能

    这里介绍python的一个库,numpy库,这个库是机器学习,数据分析最经常用到的库之一,也是利用python做数据必须用到的一个库,入门机器学习学的第一个python库就是它了. 先对其导入到pyt ...

  4. python爬虫requests库_python爬虫基础教程:requests库(二)代码实例

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  5. Python 数学运算库Numpy入门基础(一)创建数组

    安装 c:\> pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple 官方指南 NumPy quickstart - Num ...

  6. Python 技术篇-PIL库安装及截图功能演示

    PIL 库被集成在 pillow 库里了. 所以,pip install pillow 安装后就可以使用 PIL 库了. 简单的截图并保存功能非常容易实现,只需要 3 行代码: from PIL im ...

  7. Python专辑-QQ机器人1:基础功能实现

    文章目录 前期准备 1.机器人框架的下载和配置 2.python的配置和安装 具体实现 1.发送信息 2.获取群成员列表 3.接收上报的事件 4.实现简单的自动回复 5.解决重复接收消息的问题(多次回 ...

  8. python的turtle库的基础函数及其使用

    python的turtle库的基础函数及其使用 博主新建的Python学习QQ群分享一些实用的学习工具和疑问解答以及源码分享欢迎加入:431615454. 基础知识点 本篇文章主要介绍一部分自己喜欢用 ...

  9. python微信加人_Python 基于wxpy库实现微信添加好友功能(简洁)

    Python 基于wxpy库实现微信添加好友功能(简洁) 更新时间:2019年11月29日 10:21:29 作者:帅鸽水煮鱼 这篇文章主要介绍了Python 基于wxpy库实现微信添加好友功能,本文 ...

  10. python中的pylab_Python使用pylab库实现画线功能的方法详解

    本文实例讲述了Python使用pylab库实现画线功能的方法.分享给大家供大家参考,具体如下: pylab 提供了比较强大的画图功能,但是函数和参数都比较多,很容易搞混.我们平常使用最多的应该是画线了 ...

最新文章

  1. Thoughtworks 正式成为阿里云云原生核心合作伙伴
  2. python怎么网络通信_深入Python中的网络通信
  3. ucore和linux区别,附录 - 附录A—ucore历史 - 《操作系统的基本原理与简单实现》 - 书栈网 · BookStack...
  4. jmeter 添加虚拟IP
  5. 16 分频 32 分频是啥意思_一天一个设计实例任意分频器设计
  6. MyBatis学习后篇
  7. WPS 使用宏 下载 VBA
  8. easyui事件方法onChange()、onSelect()、 onLoadSuccess()
  9. EXCEL:转换人民币大写
  10. 如何在html中加入背景,html中如何加入背景图片
  11. Python类和对象以及继承多态(超详细,小白也可以懂)
  12. 首师大附中互测题:LJX的校园:入学典礼【C003】
  13. R语言也可以进行ATAC数据的完整分析啦!
  14. 编程新技术实务实验二
  15. 编译osgEarth2.8遇到gdal_vrt.h找不到的问题
  16. 记录合肥黑马Java培训
  17. 数据采集简繁体快速转换
  18. vue 加载页面时触发时间_详解Vue.js在页面加载时执行某个方法
  19. 小说精品屋-plus 安装教程
  20. 首创!迪桑特推出首款全掌碳板跑鞋

热门文章

  1. 5304—K3 Cloud 自定义webAPI
  2. python制作个人名片_python做名片系统
  3. 使用matlab设计iir滤波器并自行编写代码实现iir滤波器(可对应于C语言应用在嵌入式系统中)
  4. 计算机上64位数和32位数,一不小心就蓝屏?安装win10系统和软件,你选32位还是64位?...
  5. 批量备注订单(淘宝/天猫/1688/拼多多/京东/抖音/快手)
  6. 全网最全Selenium自动化测试相关资源汇总
  7. Java中集合retainall_Collection中的之retainAll()方法的理解
  8. java hashset retain_Java HashSet retainAll()用法及代码示例
  9. Matlab绘制圆饼统计图pie的用法详解
  10. 内存不能为read进不去桌面_纯小白向:AMD平台内存超频教程,附金士顿FuryDDR4 3200超频实战...