Forráskód Böngészése

Add websocket echo test

bel 8 éve
szülő
commit
7539ab1172
1 módosított fájl, 41 hozzáadás és 0 törlés
  1. 41 0
      test/echo.lua

+ 41 - 0
test/echo.lua

@@ -0,0 +1,41 @@
+
+if mg.lua_type ~= "websocket" then
+  mg.write("HTTP/1.0 403 Forbidden\r\n")
+  mg.write("Connection: close\r\n")
+  mg.write("\r\n")
+  mg.write("forbidden")
+  return
+end
+
+
+-- table of all active connection
+allConnections = {}
+
+-- function to get a client identification string
+function who(tab)
+  local ri = allConnections[tab.client].request_info
+  return ri.remote_addr .. ":" .. ri.remote_port
+end
+
+-- Callback to accept or reject a connection
+function open(tab)
+  allConnections[tab.client] = tab
+  return true -- return true to accept the connection
+end
+
+-- Callback for "Websocket ready"
+function ready(tab)
+  return true -- return true to keep the connection open
+end
+
+-- Callback for "Websocket received data"
+function data(tab)
+    mg.write(1, tab.data);
+    return true -- return true to keep the connection open
+end
+
+-- Callback for "Websocket is closing"
+function close(tab)
+    allConnections[tab.client] = nil
+end
+