| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							
- function iswebsocket()
 
-   return pcall(function()
 
-     if (string.upper(mg.request_info.http_headers.Upgrade)~="WEBSOCKET") then error("") end
 
-   end)
 
- end
 
- if not iswebsocket() then
 
-   mg.write("HTTP/1.0 403 Forbidden\r\n")
 
-   mg.write("Connection: close\r\n")
 
-   mg.write("\r\n")
 
-   return
 
- end
 
- -- Callback for "Websocket ready"
 
- function ready()
 
-   mg.write("text", "Websocket ready")
 
- end
 
- -- Callback for "Websocket received data"
 
- function data(bits, content)
 
- end
 
- -- Callback for "Websocket is closing"
 
- function close()
 
- end
 
- coroutine.yield(true); -- first yield returns (true) or (false) to accept or reject the connection
 
- ready()
 
- local lasthand = ""
 
- repeat
 
-     local cont, bits, content = coroutine.yield(true, 1.0)
 
-     local date = os.date('*t');
 
-     local hand = (date.hour%12)*60+date.min;
 
-     mg.write("text", string.format("%u:%02u:%02u", date.hour, date.min, date.sec));
 
-     if (hand ~= lasthand) then
 
-         mg.write("text", string.format("-->h %u", hand*360/(12*60)));
 
-         mg.write("text", string.format("-->m %u", date.min*360/60));
 
-         lasthand = hand;
 
-     end
 
-     if bits and content then
 
-         data(bits, content)
 
-     end
 
- until not cont;
 
- mg.write("text", "end")
 
- close()
 
 
  |