add websocket example to python

This commit is contained in:
Joris Vink 2017-01-29 22:57:55 +01:00
parent 7510834968
commit 5485967547
2 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,60 @@
<!DOCTYPE>
<html>
<head>
<script>
var socket = null;
var sent = 0;
var recv = 0;
var length = 65536;
function open(evt) {
var msg = "";
var alphabet = "abcdefghijklmnopqrstuvwxyz";
for (i = 0; i < length; i++)
msg += alphabet.charAt(Math.floor(Math.random() * alphabet.length));
message(msg);
}
function message(msg) {
socket.send(msg);
sent = sent + 1;
update();
}
function update() {
var cnt = document.getElementById("counter");
cnt.innerHTML = "Recv: " + recv + " Sent: " + sent;
}
function onmessage(evt) {
recv = recv + 1;
update();
message(evt.data);
}
function connect() {
socket = new WebSocket("ws://127.0.0.1:8888/ws");
socket.onopen = function(evt) { open(evt) };
socket.onclose = function(evt) { alert("closed"); };
socket.onmessage = function(evt) { onmessage(evt) };
socket.onerror = function(evt) { alert("onerror"); };
}
</script>
</head>
<body>
<form action="/" onsubmit="connect(); return false;">
<input type="submit" value="connect">
</form>
<div id="counter">
</div>
</body>
</html>

View File

@ -0,0 +1,21 @@
# using kore websockets via python.
import kore
def onconnect(c):
kore.log(kore.LOG_INFO, "%s: py connected" % c)
def onmessage(c, op, data):
kore.log(kore.LOG_INFO, "%s: got message" % c)
kore.websocket_broadcast(c, op, data, kore.WEBSOCKET_BROADCAST_GLOBAL)
def ondisconnect(c):
kore.log(kore.LOG_INFO, "%s: py disconnecting" % c)
def ws_connect(req):
try:
req.websocket_handshake("onconnect", "onmessage", "ondisconnect")
except:
req.response(500, b'')
return kore.RESULT_OK