# lua-websockets **Repository Path**: zxinghe/lua-websockets ## Basic Information - **Project Name**: lua-websockets - **Description**: 修改版 lua-websockets - **Primary Language**: Lua - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-28 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lua-Websockets Lua-Websockets 是一个基于 Lua 的 WebSocket 客户端和服务器库,它利用 Copas 提供异步网络功能。该项目支持同步和异步模式,并且兼容 LuaSocket 的 API,允许轻松集成到现有项目中。 ## 特性 - 支持 WebSocket 客户端和服务器 - 支持同步和异步模式 - 使用 Copas 4.7 实现异步 I/O - 兼容 LuaSocket API - 支持 SSL/TLS 加密连接 ## 安装 确保你已经安装了 Lua 和 luasocket。异步需要安装lua-ev ## 使用示例 ### 服务器端(异步) 使用 Copas 创建一个简单的 WebSocket 服务器: ```lua local copas = require "copas" local websocket = require "websocket.server" local server = websocket.listen { host = "127.0.0.1", port = 8080, on_message = function(self, message, opcode) print("Received: " .. message) self:send(message) end } copas.loop() ``` ### 客户端(异步) 创建一个简单的 WebSocket 客户端连接到服务器: ```lua local copas = require "copas" local websocket = require "websocket.client" local client = websocket.connect("ws://127.0.0.1:8080") client:send("Hello, Server!") copas.loop() ``` ### 服务器端(同步) 使用同步模式创建一个 WebSocket 服务器: ```lua local websocket = require "websocket.server" local socket = require "socket" local server = assert(socket.bind("127.0.0.1", 8080)) print("Server listening on ws://127.0.0.1:8080") while true do local client = server:accept() local ws = websocket.sync.wrap(client) while true do local message, opcode = ws:receive() if not message then break end print("Received: " .. message) ws:send(message) end ws:close() end ``` ### 客户端(同步) 创建一个同步 WebSocket 客户端连接到服务器: ```lua local websocket = require "websocket.client" local ws = websocket.sync.connect("ws://127.0.0.1:8080") ws:send("Hello, Server!") local message, opcode = ws:receive() print("Received: " .. message) ws:close() ``` ## 文档 详细文档可以在 [项目 Wiki](https://gitee.com/zxinghe/lua-websockets) 找到。 ## 贡献 欢迎贡献代码和报告问题。请参阅 [贡献指南](https://gitee.com/zxinghe/lua-websockets/blob/master/CONTRIBUTING.md) 了解更多信息。 ## 许可证 该项目使用 MIT 许可证。详细信息请参阅 [LICENSE](https://gitee.com/zxinghe/lua-websockets/blob/master/LICENSE) 文件。