Docs
Search…
⌃K

Websockets

API -
function yourEvent(title, type, message, code)
if title ~= socket then --make sure we're using the socket title we want!
return; --otherwise exit out early :)
end
if type == 'OnMessage' then
--route all messages here!
--the code will be blank. ''
log('receiving message: ' .. message);
end
if type == 'OnOpen' then
--the socket opened!!
--the message and code will be blank. ''
log('socket was opened!');
end
if type == 'OnClose' or type == 'OnError' then
--if the message type is OnClose or OnError, let's clean up the socket...
local app = getApp();
app.removeWebSocket(socket);
log('socket is closed!');
log(message);
log(code);
end
end
​
socket = 'my_socket_title'; --just storing the title in a global variable...
return function()
local app = getApp();
--remove old existing websocket just incase...
app.removeWebSocket(socket);
wait(1); --give it time to remove the old one
addEvent('websocket', 'yourEvent'); --subscribe to all websockets that exist...
--this wss server will echo whatever you send!
app.createWebsocket(socket, 'wss://ws.ifelse.io/'); --title a websoscket and connect to a server...
wait(2); --give it time to connect
app.sendWebsocketMessage(socket, 'gogo!');
wait(2);
log('nice job... we gunna wait until close now!');
keepAlive();
end
Events are asynchronous coroutines.