客户端没有在 Python Socket 中接收到服务器的数据

时间:2021-04-26 19:46:16

标签: python sockets tcp

我正在尝试创建一个函数,允许客户端从服务器下载文件。下面是代码的相关部分。我已经到了在客户端文件夹中创建同名文本文件的地步,但它只是空的,没有数据。程序到达“接收的文件行”,但没有别的。

客户代码:

       elif cmd == "DOWN":
            filename = data[1]
            print(filename)
            client.send(filename.encode(FORMAT))
            f = open("client/" + filename, 'wb')
            while True:
                print("receiving data")
                data = client.recv(1024).decode(FORMAT)
                if not data:
                    break
                f.write(data)
                print("Data: %s", (data))
            f.close()

服务器代码:

       elif cmd == "DOWN":
            file = conn.recv(1024).decode(FORMAT)
            f = open("server/"+file, 'rb')
            l = f.read(1024)

            while (l):
                conn.send(l.encode(FORMAT))
                print("send data", repr(1))
                l = f.read(1024)
            f.close()
            print("done sending")

输出:

Welcome to the server
> DOWN abc.txt
abc.txt
recieving data

程序进入循环接收数据,没有别的。任何帮助,将不胜感激。谢谢。

0 个答案:

没有答案