使用websocket客户机和服务器实现通讯

前言

在最近的项目(TestPaddlespeech)中,虽然在本地完成了一个语言识别算法,但是没有任何项目部署到服务器上,或者实现前后端交互的知识和技术。因此,通过一段时间的学习,找到了python中自带的一个websocket库,可以实现服务器的部署以及前后端的交互,因此记录自己的实现过程。

服务器,数据传输形式,前后端数据交互这些问题一直困扰着自己,该怎么实现这一过程,用什么技术路线,目前大致整理了一个方案出来,但是也都是东拼西凑的,应该没有多高的技术含量,也很想知道目前大厂的技术路线,如何实现这些功能。

服务器和客户器端

在服务器端,采用的技术是websocket,代码为websocket_server2.py:

在客户端使用了一个websocket_client.py的文件,两者的连接是通过url的方式,eg:

ws://127.0.0.1:8181,就是这样一个ws开头的ip地址加端口号。

因为目前是部署在自己本地的电脑上的,所以有人告诉我说把ip地址换成自己的电脑ipv4的地址,至于为什么要这么做,自己就不得而知了。目前还没有搞明白。

数据传输

这个是也是困扰自己很久的问题,该怎么传,是json,还是二进制比特流,还是base64加码之后的数据,没有确定。

所以最近尝试了使用base64加密和解密的方式,可以在服务器端还原文件了,先这样用着吧,以后要是改成别的方式,再说吧,在这里分享一个百度api接口的方式,个人还是很喜欢,觉得代码写的挺美的:

Python 技术篇-百度语音识别API接口调用演示_python语音识别到文本框中,怎么调接口-CSDN博客

import requests
import os
import base64
import json

apiUrl='http://vop.baidu.com/server_api'
filename = "16k.pcm"   # 这是我下载到本地的音频样例文件名
size = os.path.getsize(filename)   # 获取本地语音文件尺寸
file1 = open(filename, "rb").read()   # 读取本地语音文件   
text = base64.b64encode(file1).decode("utf-8")   # 对读取的文件进行base64编码
data = {
    "format":"pcm",   #
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值