- 参见:lipp/lua-websockets: Websockets for Lua. (github.com)
github网址可能需手动转换lipp.github.com/lua-websockets/>github.com/lipp/lua-websockets - websockets为底层的类似于TCP、UDP的socket(实现上基于更底层的socket),不同于上层的webserver
-
服务端(Service)需并行地支持多连接(实现方式见如下客户端中提及的并行方式);
客户端可同步(synchronous)(串行),或,基于Copas的协程或基于lua-ev(libev)的异步之并行。
并行方式中,libev较Copas对外的依赖重。 - 当前环境中存在的(现成的)应用:luaplus\Src\Modules\lua-websockets;luaplus\Src\Modules\copas\copas;ZeroBraneStudio\lualibs\copas
- 客户端使用websocket URL(ws_url,如ws://localhost:80)连接服务端。
- 参见lua-websockets\API.md
分客户端:- 建立websocket.client.sync(websocket.client.new)、websocket.client.copas
- 连接client:connect(ws_url,[protocol])、client:close([code],[reason])
- 访问client:receive()、client:send(message,[type])
服务端: - 配置config.port、interface(网络设备)、protocols(像是两头约定的方法)
- 建立websocket.server.copas.listen(config)
- 连接server:close