gpt4 book ai didi

c - 如何用 C 语言将文件从服务器上传到客户端?

转载 作者:行者123 更新时间:2023-11-30 20:25:36 24 4
gpt4 key购买 nike

我需要执行这个功能:put X Y :将本地文件X上传到服务器,并在服务器端命名为Y

我已经写了设置连接所需的所有内容,我只想知道如何上传文件。我只知道send()函数有 4 个参数,但它似乎只是发送一个字符数组。如何发送整个文件,例如图像?

在 Windows 上使用 HTTP。

最佳答案

就这样做

  1. 使用open()打开本地文件进行读取,即

    int fd = open(localFileName, O_RDONLY);
    if (fd == -1)
    errorFileCantBeOpenedForReadingAbortThis();
  2. 从文件中读取字节并将其写入套接字

    int size;
    unsigned char buffer[SOME_REASONABLE_SIZE];

    size = read(fd, buffer, sizeof(buffer));
    if (size == -1)
    aReadErrorHandleIt();
    if (write(sockfd, buffer, size) == -1)
    aWriteErrorHandleIt();

    循环执行此操作,直到写入所有数据。

在服务器端,您需要将数据写入可能通过 put 命令或您可能指定的某些自定义命令指定的文件。

当然,您应该首先将目标文件名以及指示文件写入即将开始的内容发送到服务器,并打开文件进行写入。

如果服务器通知客户端写入可能开始,然后客户端可以开始写入,直到您发送一些内容以表明已全部发送,然后服务器可以关闭文件,那就太好了。

关于c - 如何用 C 语言将文件从服务器上传到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28073520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com