C是否有HTTP2的标准库
[Intro]] 我已经练习了4个月的C语言,每周5次,我正在尝试做出最好的猜测,以便进入HTTP2的web服务器/客户端编程。我使用过HTML5和Javascript,我也使用过HTTP2,并且在低水平上使用了SPDY [Info]C是否有HTTP2的标准库,c,http,system,http2,spdy,C,Http,System,Http2,Spdy,[Intro]] 我已经练习了4个月的C语言,每周5次,我正在尝试做出最好的猜测,以便进入HTTP2的web服务器/客户端编程。我使用过HTML5和Javascript,我也使用过HTTP2,并且在低水平上使用了SPDY [Info] Debian GNU/Linux (Buster), V.10 编译器-叮当声 标题HTTP2(?) HTTP头文件(sys/socket.h、sys/types.h、signal.h、arpa/inet.h) 网络协
Debian GNU/Linux (Buster), V.10
编译器-叮当声标题HTTP2(?)
HTTP头文件(sys/socket.h、sys/types.h、signal.h、arpa/inet.h) 网络协议-TCP、HTTP2、HTTP [问题]
Debian GNU/Linux (Buster), V.10
在使用Java时,您会注意到游戏引擎中使用了大量的HTTP2
<代码>HTTP2自2021年起,在当前语言中越来越多地被标准化。(焦点->)C有一个标准库,用于使用HTP
和TCP
HTTP2
使用加密&据我所知,它基于“TCP
”。是否有一个标准用于C处理“http2tcp
”类型。我需要能够从HTTP2
&轻松地执行任务(send(),recv())。(HTTP是一种协议。它定义了计算机之间的通信方式。有很多不同的协议;HTTP/2和HTTP基于TCP/IP,几乎所有计算机都使用TCP/IP连接到服务器。TCP/IP指定如何在客户端和特定服务器之间创建连接,并发送原始字节。HTTP(2)是这个层之上的一个层,它定义了客户端应该如何告诉服务器它需要什么资源
base POSIX提供的API仅扩展到原始TCP/IP。下面是一个应用程序可以发送到web服务器以请求网页的示例(这是一个HTTP/1请求,HTTP/2是二进制和加密的,使其不可读)
但是,在程序中手动组装这些请求有点不方便,特别是当您开始执行发送参数、加密等操作时。在这种情况下,人们应该使用机器上的一些库。重要的是这些库是非标准的。最常见的库之一可能是libcurl
.总结如下:
您可以通过向编译器和链接器提供一些标志来使用libcurl编译程序。您可以通过运行curl-config--cflags
和curl-config--libs
来获得这些标志
使用curl\u global\u init(位字段)
初始化libcurl。位字段可以使用curl\u global\u WIN32
和curl\u global\u SSL
作为其值。由于要使用加密,您可能需要curl\u global\u SSL
libcurl有两个接口:easy
和multi
通过调用curl\u easy\u init()
获得一个简单的句柄。这个句柄允许您发出请求
使用curl\u easy\u setopt(handle,option,value)
handle
是您获得的“easy handle”,而option
是一个常量,例如CURLOPT\u URL
用于设置请求的URL,而value
是您想要设置的值。它通常是一个字符串
将带有选项的回调函数设置为CURLOPT\u WRITEFUNCTION
。它应该具有签名size\t(void*buffer、size\t size、size\t nmemb、void*userp)
。当libcurl从服务器接收数据时会调用它。通常会多次调用它。nmemb
指出缓冲区中数据的大小。它应该返回它成功处理的字节数。通常这是nmemb
使用curl\u easy\u perform(handle)
执行请求
当您处理完所有要发出的请求后,请调用curl\u global\u cleanup()
中没有专用于http2的部件
但是,在C
中使用http2
是完全可能的,并且有很好的文档记录和广泛使用。例如:
-信息:
关于http2
和各种编程语言的更多信息可以在这里找到:不,没有适用于http2甚至HTTP的标准C库。有各种开放源代码库提供HTTP/2支持。搜索它们并评估哪一种可以满足您的需求。是的,您当然可以从scr编写但它是否可行取决于您自己的领域和编程专业水平。