Skip to content

flaribbit/love2d-lua-websocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

websocket client pure lua implement for love2d

Event-driven websocket client for love2d in pure lua, which aims to be simple and easy to use.

Not all websocket features are implemented, but it works fine. Tested with aiohttp(python) and ws(nodejs) library.

Quick start

Just copy websocket.lua to your project directory, and write code as the following example.

local client = require("websocket").new("127.0.0.1", 5000)
function client:onmessage(message)
    print(message)
end
function client:onopen()
    self:send("hello from love2d")
    self:close()
end
function client:onclose(code, reason)
    print("closecode: "..code..", reason: "..reason)
end

function love.update()
    client:update()
end

WSS connection

If you need wss connection(websocket with TLS), you can use LuaSec with this library, or just use löve-ws.

API

  • websocket.new(host: string, port: int, path?: string) -> client
  • function client:onopen()
  • function client:onmessage(message: string)
  • function client:onerror(error: string)
  • function client:onclose(code: int, reason: string)
  • client.status -> int
  • client:send(message: string)
  • client:close(code?: int, reason?: string)
  • client:update()