python - 如何使用套接字将波形文件从客户端发送到服务器
问题描述
因此,我尝试使用套接字将保存的波形文件从客户端发送到服务器,但是每次尝试都失败了,我得到的最接近的是:
#Server.py
requests = 0
while True:
wavfile = open(str(requests)+str(addr)+".wav", "wb")
while True:
data = clientsocket.recv(1024)
if not data:
break
requests = requests+1
wavefile.write(data)
#Client.py
bytes = open("senddata", "rb")
networkmanager.send(bytes.encode())
这段代码的错误是“AttributeError:'_io.BufferedReader'对象没有属性'encode'”所以有没有办法解决这个问题?,我正在使用python
解决方案
当您使用“读取二进制”模式时,无需在发送前对字节进行编码。
您应该读取文件以获取字节而不是 BufferedReader。
bytes = open("senddata", "rb").read()
networkmanager.send(bytes)
推荐阅读
- javascript - 如何按预定义的值对对象数组进行排序?
- python - 用python分配内存以传递给dll
- php - 不传递某些值
- java - Java中的同义词搜索
- javascript - 改进输入更改的存储
- database-design - 有没有更好的方法来设计这个不需要重复数据的 DynamoDB 表?
- android - 如何构建 Jetpack Compose 项目?
- javascript - React:我可以在基于 props 的可重用组件中创建动态数量的状态吗?
- ruby-on-rails - 通过递归 has_many 关系创建 has_many 关系
- javascript - 尝试在本地主机上创建的 Netlify 上部署我的反应应用程序,但在尝试部署时出错