Wav文件传输套接字

时间:2013-11-10 08:41:59

标签: sockets wav python-3.3

解决方案(在某种程度上):我刚刚添加了atime睡眠,虽然半文件仍然被破坏但至少现在我转移了所有1.19 mb 。 完全删除base64似乎就是答案:D

我正在尝试创建一个用户可以传输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

1 个答案:

答案 0 :(得分:0)

我认为您需要从套接字读取整个文件,然后b64decode它,以1024字节的块进行操作可能不会产生相同的结果。