Решение (в некотором смысле):
Я только что добавил atime sleep, хотя половина файла все еще повреждена, но по крайней мере теперь я передал все 1.19 mb
. Удаление полностью base64 похоже на ответ: DРазъемы для передачи данных Wav
Я пытаюсь создать сценарий, в котором пользователь может переадресовать wav-файл. Это мой текущий код как на стороне клиента, так и на стороне сервера. Проблема: что мои данные повреждены в конце.
Также, когда я вижу все переданные данные, я закрываю сервер Ps. Я этот файл является плохим именем переменной, но я использую его только сейчас во время тестов
Заранее спасибо.
сторона клиента:
class SockThread(QtCore.QThread):
def create_r(self, filename):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.filename = filename
def run(self):
self.sock.connect(("127.0.0.1", 8000))
wf = open(self.filename, 'rb')
print("OK")
for line in wf:
self.sock.send(base64.b64encode(line))
wf.close()
print("OK")
сторона сервера:
file = open("sample.wav", "wb")
self.connection = True
while self.connection is True:
try:
data = self.socket.recv(1024)
print(data)
file.write(base64.b64decode(data))
except:
break
Это не сработало, файл больше не воспроизводится таким образом. –