python实现websocket上传音频并测试

WebSocket是一种全双工通信协议,允许在单个TCP连接上进行双向通信。WebSocket协议允许服务器通过将请求头Upgrade设置为WebSocket来升级HTTP连接。这使得WebSocket协议可以在浏览器和服务器之间建立持久连接,能够实现实时数据传输和通信。

WebSocket协议基于标准的HTTP和TCP网络协议,并通过自定义协议的方式来处理数据。WebSocket协议通过发送和接收数据帧来实现通信,这些帧包含操作码、负载数据和掩码。掩码用于保护数据的安全性,操作码用于标识帧的类型,负载数据则是消息的内容。WebSocket协议支持二进制和文本数据传输。

WebSocket协议在实时通信方面有很好的应用,比如在线游戏、聊天应用、音视频传输等。由于WebSocket协议通过单个TCP连接进行双向通信,因此它比传统的HTTP请求响应模型更加高效和实时。

代码 

import websocket
import base64

def on_message(ws, message):
    print("收到消息:", message)

def on_error(ws, error):
    print("出现错误:", error)

def on_close(ws):
    print("WebSocket连接已关闭")

def on_open(ws):
    print("WebSocket连接已打开")
    # 读取音频流
    with open("test.wav","rb") as f:
        data = f.read()
        # encoded_string = base64.b64encode(f.read())
        print(f"读取到的文件长度是: {len(data)}")
        ws.send(data)
        print("================================")
        ws.send(data,opcode=websocket.ABNF.OPCODE_BINARY)
    # 发送数据
    # ws.send("Hello, WebSocket!")

if __name__ == "__main__":
    websocket.enableTrace(False)  # 启用调试信息
    ws = websocket.WebSocketApp("ws://ip:port/path",  # WebSocket接口地址
                              on_message = on_message,
                              on_error = on_error,
                              on_close = on_close)
    ws.on_open = on_open
    ws.run_forever()  # 保持WebSocket连接

结果

相关推荐

  1. 定时音频数据采集发送websocket实时播放

    2023-12-12 06:14:02       52 阅读
  2. 使用Django框架实现音频功能

    2023-12-12 06:14:02       27 阅读
  3. mac下安装python编写脚本实现s3功能

    2023-12-12 06:14:02       35 阅读
  4. python Fabric实现文件

    2023-12-12 06:14:02       52 阅读
  5. vue实现excel显示数据

    2023-12-12 06:14:02       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 06:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 06:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 06:14:02       82 阅读
  4. Python语言-面向对象

    2023-12-12 06:14:02       91 阅读

热门阅读

  1. 在gen_server使用ets实例演示

    2023-12-12 06:14:02       48 阅读
  2. final的安全发布

    2023-12-12 06:14:02       56 阅读
  3. Web 安全之公钥基础设施 PKI 详解

    2023-12-12 06:14:02       49 阅读
  4. oracle中的PIVOT函数

    2023-12-12 06:14:02       65 阅读
  5. docker内更换python及pip到3.8

    2023-12-12 06:14:02       48 阅读
  6. SEO和PPC可以互相帮助的7种方式

    2023-12-12 06:14:02       54 阅读
  7. hive/spark用法记录

    2023-12-12 06:14:02       56 阅读
  8. What is MySQL Performance Schema?

    2023-12-12 06:14:02       62 阅读
  9. linux的磁盘管理

    2023-12-12 06:14:02       50 阅读