190416-Python之Webscoket模拟客户端简单使用

文章目录
  1. 1. 依赖包
  2. 2. 测试demo
  3. 3. 复杂使用方式
  • II. 其他
    1. 1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
    2. 2. 声明
    3. 3. 扫描关注
  • 记录下,如何使用python,实现简单的测试websocket接口

    1. 依赖包

    1
    pip install websocket-client

    2. 测试demo

    最基础的demo测试如下,发送一条数据,接收返回

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from websocket import create_connection

    ws = create_connection("ws://127.0.0.1:8080/wsdemo")
    # 发送数据
    ws.send("hello world")
    # 接收数据
    result = ws.recv()
    print(result)
    # 关闭
    ws.close();

    3. 复杂使用方式

    对于websocket的使用而言,上面的使用场景属于比较少的,常见的是后端不断的推送数据,我这里一直接收数据,然后隔一段时间发送一个ping消息

    对上面的场景进行拆分

    • 一个线程实现不断的接收数据并打印
    • 一个线程实现每隔10s发送一个ping消息
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # -*- coding: utf-8 -*-
    # create by yihui 20:03 19/4/16
    import threading
    import time

    from websocket import create_connection

    ws = create_connection("ws://127.0.0.1:8080/wsdemo")


    def recv():
    while True:
    result = ws.recv()
    print(f"接收>>>> {result}")


    def ping():
    cnt = 0
    while cnt < 10:
    ws.send("ping")
    time.sleep(2)
    cnt += 1


    rct = threading.Thread(target=recv, name='receiveThread')
    pt = threading.Thread(target=ping, name='pingThread')

    rct.start()
    pt.start()

    pt.join()
    ws.close()

    II. 其他

    1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

    一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

    2. 声明

    尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

    3. 扫描关注

    一灰灰blog

    QrCode

    知识星球

    goals

    评论

    Your browser is out-of-date!

    Update your browser to view this website correctly. Update my browser now

    ×