gle*_*096 2 c sockets tcp http
我正在用 C 语言(在 Linux 上)实现一个客户端和服务器,我想使用 HTTP PUT 消息从客户端向服务器发送一个文本文件。
我真的不知道如何做到这一点。我是否首先通过套接字发送 HTTP 请求和标头行,然后使用缓冲区通过套接字逐个发送文件?或者我是否需要在发送文本文件的每个部分之前为其添加自己的 HTTP 请求和标题行?
我还读到了这个名为 sendfile 的函数,它似乎会让这更容易,但我不确定如果 sendfile 只是将文件直接发送到套接字,我将如何将 HTTP 标头和请求行添加到文件中。
感谢您的帮助。
我是否首先通过套接字发送 HTTP 请求和标头行,然后使用缓冲区通过套接字逐个发送文件?
是的。
或者我是否需要在发送文本文件的每个部分之前为其添加自己的 HTTP 请求和标题行?
不。
我还读到了这个名为 sendfile 的函数,它似乎会让这更容易,但我不确定如果 sendfile 只是将文件直接发送到套接字,我将如何将 HTTP 标头和请求行添加到文件中。
首先发送带有正常的标头send,然后调用sendfile. 但是,您应该阅读文档,其中说
请注意,成功调用 sendfile() 可能会写入比请求更少的字节;如果有未发送的字节,调用者应该准备重试调用。
这意味着您的生活并没有那么轻松sendfile。它比的组合更有效read和write,但工作的程序员需要做的量是在两种情况下类似。
| 归档时间: |
|
| 查看次数: |
1290 次 |
| 最近记录: |