【JAVA】创建一个不需要依赖的websocket服务器接收音频文件
JAVA服务端
PYTHON客户端
python
# 纯Python测试客户端(无依赖)
import websocket
import time
# 连接服务器
ws = websocket.create_connection("ws://localhost:8888")
print("连接响应:", ws.recv())
# 发送格式指定指令
ws.send("set_format:wav")
print("格式响应:", ws.recv())
# 读取本地音频文件并分片发送
with open("test_audio.wav", "rb") as f:
while True:
data = f.read(1024) # 每次1024字节
if not data:
break
ws.send_binary(data)
time.sleep(0.01) # 模拟实时上传
# 发送结束上传指令
ws.send("finish_upload")
print("结束响应:", ws.recv())
# 关闭连接
ws.close()
测试
服务端打印
纯Java WebSocket音频服务器已启动(端口:8888)
音频保存路径:D:\java\AIAS-main\AIAS-main\1_image_sdks\onlyTest\received_audio
=====================================
客户端连接:/127.0.0.1:52870
客户端[/127.0.0.1:52870]WebSocket握手成功
收到客户端[/127.0.0.1:52870]文本指令:set_format:wav
客户端[/127.0.0.1:52870]无音频数据可保存
客户端[/127.0.0.1:52870]连接已关闭
客户端连接:/127.0.0.1:52941
客户端[/127.0.0.1:52941]WebSocket握手成功
收到客户端[/127.0.0.1:52941]文本指令:set_format:wav
收到客户端[/127.0.0.1:52941]音频数据:本次1024字节 | 累计1024字节
收到客户端[/127.0.0.1:52941]音频数据:本次1024字节 | 累计2048字节
收到客户端[/127.0.0.1:52941]音频数据:本次1024字节 | 累计3072字节
客户端打印
D:\java\AIAS-main\AIAS-main\1_image_sdks\onlyTest\src\main>python socketClient.py
连接响应: WebSocket连接成功,可开始上传音频数据(支持mp3/wav/pcm格式)
格式响应: 已设置音频保存格式为:wav
结束响应: 音频文件已保存完成!