diff --git a/examples/echo-server-copas.lua b/examples/echo-server-copas.lua index 220c959..98a5165 100644 --- a/examples/echo-server-copas.lua +++ b/examples/echo-server-copas.lua @@ -1,5 +1,19 @@ local copas = require'copas' +-- this callback is called, whenever a new client connects. +-- ws is a new websocket instance +local echo_handler = function(ws) + while true do + local message = ws:receive() + if message then + ws:send(message) + else + ws:close() + return + end + end +end + -- create a copas webserver and start listening local server = require'websocket'.server.copas.listen { @@ -11,18 +25,9 @@ local server = require'websocket'.server.copas.listen protocols = { -- this callback is called, whenever a new client connects. -- ws is a new websocket instance - echo = function(ws) - while true do - local message = ws:receive() - if message then - ws:send(message) - else - ws:close() - return - end - end - end - } + echo = echo_handler + }, + default = echo_handler } -- use the copas loop diff --git a/examples/echo-server-ev.lua b/examples/echo-server-ev.lua index 8e8a296..8348f8f 100644 --- a/examples/echo-server-ev.lua +++ b/examples/echo-server-ev.lua @@ -1,5 +1,13 @@ local ev = require'ev' +-- this callback is called, whenever a new client connects. +-- ws is a new websocket instance +local echo_handler = function(ws) + ws:on_message(function(ws,message) + ws:send(message) + end) +end + -- create a copas webserver and start listening local server = require'websocket'.server.ev.listen { @@ -9,14 +17,9 @@ local server = require'websocket'.server.ev.listen -- key: protocol name -- value: callback on new connection protocols = { - -- this callback is called, whenever a new client connects. - -- ws is a new websocket instance - echo = function(ws) - ws:on_message(function(ws,message) - ws:send(message) - end) - end - } + echo = echo_handler + }, + default = echo_handler } -- use the lua-ev loop