From f440181f86425e75448c4fda6a0ce963c01ba205 Mon Sep 17 00:00:00 2001 From: a158 Date: Tue, 4 Aug 2026 20:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0WEBSOCKET=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- target/fastweb/response.lua | 34 ++++++++++++++++++++++++++++++++++ target/fastweb/websocket.lua | 26 ++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/target/fastweb/response.lua b/target/fastweb/response.lua index 6208c98..82cfe12 100644 --- a/target/fastweb/response.lua +++ b/target/fastweb/response.lua @@ -1,6 +1,40 @@ local M = {} +--[[ +FUNCTION: 发送响应头 +PARAM + state_num : 状态码 + state_desc : 状态描述 +--]] +function M.send_header(state_num, state_desc) + return fw_response:send_header(state_num, state_desc) +end + +--[[ +FUNCTION: 发送WebSocket数据 +PARAM + data : 数据 + opcode : 帧类型(可选,默认文本1;2二进制 8关闭 9ping 10pong) +--]] +function M.send_ws(data, opcode) + return fw_response:send_ws(data, opcode or 1) +end + +--[[ +FUNCTION: 响应结束 +--]] +function M.response_done() + fw_response:response_done() +end + +--[[ +FUNCTION: 是否已响应 +--]] +function M.is_response_done() + return fw_response:is_response_done() +end + --[[ FUNCTION: 发送字符串 PARAM diff --git a/target/fastweb/websocket.lua b/target/fastweb/websocket.lua index 8ae52f4..453b577 100644 --- a/target/fastweb/websocket.lua +++ b/target/fastweb/websocket.lua @@ -6,6 +6,19 @@ M.MESSAGE_HEADER = FW_WS_MESSAGE_HEADER or 1 M.MESSAGE_BODY = FW_WS_MESSAGE_BODY or 2 M.CLOSE = FW_WS_CLOSE or 3 + +M.OPCODE_TEXT = FW_WS_OPCODE_TEXT or 1 +M.OPCODE_BINARY = FW_WS_OPCODE_BINARY or 2 +M.OPCODE_CLOSE = FW_WS_OPCODE_CLOSE or 8 +M.OPCODE_PING = FW_WS_OPCODE_PING or 9 +M.OPCODE_PONG = FW_WS_OPCODE_PONG or 10 +--[[ +FUNCTION: 是否有效 +--]] +function M.valid() + return fw_websocket:valid() +end + --[[ FUNCTION: 取消息类型 RETURN @@ -53,4 +66,17 @@ function M.mask() return fw_websocket:mask() end +--[[ +FUNCTION: 取Sec-WebSocket-Key +--]] +function M.sec_websocket_key() + return fw_websocket:sec_websocket_key() +end + +--[[ +FUNCTION: 取连接ID +--]] +function M.connid() + return fw_websocket:connid() +end return M