0
解決方案(某種方式):
我剛添加了一次睡眠,雖然一半的文件仍然損壞,但至少現在我轉移了所有1.19 MB
。 完全刪除base64似乎是答案:DWav文件傳輸插座
我想創建一個腳本,用戶可以轉讓一個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
這沒有奏效,該文件不能以這種方式播放。 –