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
这没有奏效,该文件不能以这种方式播放。 –