因此,我试图将保存的wave文件从客户端发送到带有套接字的服务器,但是每次尝试均失败,最接近的ive是:
#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
答案 0 :(得分:0)
由于您使用的是“读取二进制”模式,因此在发送之前无需对字节进行编码。
您应该读取文件以获取字节,而不是BufferedReader。
bytes = open("senddata", "rb").read()
networkmanager.send(bytes)
答案 1 :(得分:0)
您必须使用read
读取字节,并使用sendall
将字节发送到服务器:
bytes = open("senddata", "rb")
networkmanager.sendall(bytes.read())