模块 quic

require "quic"

模块函数

API实现说明
quic.versionl_version返回 QUIC 后端版本字符串
quic.serverl_server创建 QUIC 服务端监听:quic.server(host, port),返回 server 句柄(含自签名证书)
quic.connectl_connect连接 QUIC 服务端:quic.connect(host, port, servername?),返回 conn 句柄

Server 方法(server:xxx)

API实现说明
server:polll_server_poll接受一个已握手的连接(阻塞等待),返回 conn 句柄或 nil

Connection 方法(conn:xxx)

API实现说明
conn:open_streaml_conn_open_stream在连接上打开一个双向流,返回 stream 句柄
conn:polll_server_poll接受对端发起的双向流(阻塞等待),返回 stream 句柄

Stream 方法(stream:xxx)

API实现说明
stream:sendl_stream_send向流发送数据:stream:send(data),返回已发送字节数
stream:recvl_stream_recv从流读取数据:stream:recv(cap?),返回数据串、nil(eof) 或 nil,err

使用示例(socket.quic 子模块)

local socket = require "socket"
local quic = socket.quic

-- 服务端监听 (本机自签名证书, 演示用)
local srv = quic.server("127.0.0.1", 44555)

-- 客户端连接并开流发送
local conn = quic.connect("127.0.0.1", 44555, "localhost")
local st = conn:open_stream()
st:send("hello over QUIC")

-- 服务端接受连接 → 接受流 → 读取
local sconn = srv:poll()
local sst = sconn:poll()
print(sst:recv(100))   -- "hello over QUIC"
← 返回模块索引