gpt4 book ai didi

c - 使用 winHttpApi 或套接字发送大文件是否明智?

转载 作者:可可西里 更新时间:2023-11-01 11:37:00 38 4
gpt4 key购买 nike

我需要使用 HTTP 协议(protocol)发送文件,但问题是我是否应该使用套接字,因为我有大文件?或者我可以使用 WinHttpApi,例如:

BOOL HttpSendRequest(
__in HINTERNET hRequest,
__in LPCTSTR lpszHeaders,
__in DWORD dwHeadersLength,
__in LPVOID lpOptional,
__in DWORD dwOptionalLength
);

并为我想要的文件使用 lpOptional?我应该划分文件还是该 API 处理大文件?

如果我使用 HTTP api,文件大小是否有任何限制,我应该分配数据吗?

最佳答案

HTTP uses TCP sockets对于它的连接:

HTTP communication usually takes place over TCP/IP connections. The default port is TCP 80 [19], but other ports can be used. This does not preclude HTTP from being implemented on top of any other protocol on the Internet, or on other networks. [...]

(原则上它可以使用其他东西,但这很不寻常。)

与通过套接字设计自己的协议(protocol)相比,使用 HTTP 的优势在于有大量现有的 HTTP 库(以及其他参数)。无论如何,您都必须定义自己的小协议(protocol),即使只是为了告诉远程方文件何时开始和停止。

HTTP 有几点帮助:

如果您确实选择使用 HTTP,请尝试阅读更多有关它的内容。您实际上可能会发现 Web 服务器和 Web 客户端已经实现了您所需要的功能。我不确定 lpOptional 是关于什么的,但是您应该在构建的 URL 中指定要获取的文件。 (在您的服务器上构建您自己的 URL 空间。)

关于c - 使用 winHttpApi 或套接字发送大文件是否明智?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864877/

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