一 ngtcp2编译:github有步骤
openssl-OpenSSL_1_1_1m-quic、nghttp3、ngtcp2。
编译example,需要libev库--用了里面的函数。
二 Client
步骤:
1 auto callbacks = ngtcp2_callbacks{
ngtcp2_recv_crypto_data recv_crypto_data; //必须的,回调给ngtcp2库自己处理
ngtcp2_handshake_completed handshake_completed; //握手完成
ngtcp2_encrypt encrypt;
ngtcp2_decrypt decrypt; //quic数据包的加密解密,必须的
ngtcp2_hp_mask hp_mask; //用于获取解密、解密包头的掩码,必须的
ngtcp2_recv_stream_data recv_stream_data; //获取Stream包的数据,解密后的,重要回调函数
ngtcp2_acked_stream_data_offset acked_stream_data_offset; //应用程序可以为数据释放内存
ngtcp2_stream_open stream_open;
... };
ngtcp2_settings_default(&settings);
ngtcp2_transport_params_default(¶ms);
2 ngtcp2_conn_client_new(&conn_, &dcid, &scid, &path, version, &callbacks,

本文介绍了如何从GitHub上下载并编译openssl、nghttp3和ngtcp2,重点讲解了ngtcp2客户端的设置、回调函数使用,包括加密解密、数据接收和写入,以及HTTP应用示例。涉及的关键技术有Quic协议、TLS、ngtcp2库和自动回调机制。
最低0.47元/天 解锁文章
341

被折叠的 条评论
为什么被折叠?



