将文件发送给客户端而不输入文件名和文件扩展名

Send file to client without type it's name and file extension

我正在通过套接字发送文件。服务器到客户端。服务器读取文件并发送。客户端收到文件并写入并使用 file.write() 保存但我必须输入它收到的文件名和文件扩展名 after/before。我不想输入文件名、扩展名。还有另一种方法可以在不执行此操作的情况下接收文件。 这是我的代码:

# server send file to client.
Def send_file_to_client(conn):
           File = open("video.mp4", 'rb')
           Conn.send(File)
           print("file send.")

# client receive file from server.
Def recvfile():
         file = open("video.mp4", 'wb')
         while True:
                 r = soc.recv(4096)
                 if not r: break
                file.write(r)
        print("file download")

如果程序中没有hard-coding文件名,你可以通过命令行参数传递它,而运行代码。

这里是 link 到 GitHub 我实现了类似的东西:

Reliable File Transfer over UDP

希望对您有所帮助!