Skip to content

kaisei-kto/luvit-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

luvit-ws

TODO

  • Add a support for luvit's module system
  • Request to get this posted onto luvit's package list

WebSocket Server Example

local ws = require('luvit-ws')

local server = ws.server:new()

function server:onListen()
    print('[SERVER] Waiting for client connections...')

    print(#server:getClients())
end

function server:onConnect(client)
    print('Client Connected - ' .. client.uid)
end

function server:onDisconnect(client)
    print('Client Disconnected - ' .. client.uid)
end

function server:onMessage(client, message)
    print(client, message)
end

server:listen(3000)

--[=[
    server:listen(port)
    server:sendAll(string)
    server:exit()

    server<client>:send(string)
    server<client>:disconnect(void)
]=]--

WebSocket Client Example

local ws = require('luvit-ws')

local client = ws.client:connect('ws://host:port') -- supports wss too

function client:onConnect()
    print('[CLIENT] Connected')
end

function client:onMessage(message)
    print(message)
end

function client:onError(message)
    print(message)
end

function client:onDisconnect()
    print('[CLIENT] Disconnected')
    require('timer').setTimeout(1000, function()
        coroutine.wrap(client.reconnect)()
    end)
end

--[=[
    client:send(string)
    client:reconnect(void)
    client:disconnect(void)
]=]--

About

Websocket Library, utilizing both Server & Client library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages