首页 > 解决方案 > 如何使用套接字将波形文件从客户端发送到服务器

问题描述

因此,我尝试使用套接字将保存的波形文件从客户端发送到服务器,但是每次尝试都失败了,我得到的最接近的是:

#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

标签: pythonsocketswave

解决方案


当您使用“读取二进制”模式时,无需在发送前对字节进行编码。

您应该读取文件以获取字节而不是 BufferedReader。

bytes = open("senddata", "rb").read()
networkmanager.send(bytes)

推荐阅读