我正在用C(在Linux上)实现客户端和服务器,我想使用HTTP PUT消息从客户端向服务器发送文本文件。
我不太确定该怎么做。我是否首先通过套接字发送HTTP请求和 header 行,然后使用缓冲区逐个通过套接字发送文件?还是在发送文本文件之前,需要在文本文件的每个部分之前添加自己的HTTP请求和 header 行?
我还阅读了有关名为sendfile的函数的信息,该函数看起来似乎会使它更容易,但是我不确定如果sendfile只是将文件直接发送到套接字,该如何在文件的HTTP header 和请求行之前加上前缀。
谢谢您的帮助。
最佳答案
是的。
不。
首先发送带有正常send
的 header ,然后调用sendfile
。但是,您应该阅读说明文件,其中说
这意味着sendfile
并不会使您的生活变得那么轻松。它比read
和write
的组合更有效,但是在两种情况下程序员需要做的工作量都是相似的。
关于c - 如何在C中通过TCP套接字通过HTTP发送文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33699904/