yinxing
Version:
60 lines (53 loc) • 1.65 kB
HTML
<html>
<head></head>
<body>
<p>nanomsg ws test: <span></span></p>
<input type='text'>
<button>send</button>
<script>
// raw.githubusercontent.com/nanomsg/nanomsg/master/rfc/sp-websocket-mapping-01.txt
const sp=[
"pair.sp.nanomsg.org",
"req.sp.nanomsg.org",
"rep.sp.nanomsg.org",
"pub.sp.nanomsg.org",
"sub.sp.nanomsg.org",
"surveyor.sp.nanomsg.org",
"respondent.sp.nanomsg.org",
"push.sp.nanomsg.org",
"pull.sp.nanomsg.org",
"bus.sp.nanomsg.org"
];
function handle_msg(e) {
console.log(e.data)
var reader = new FileReader();
reader.addEventListener('loadend', function() {
document.querySelector('span').textContent = reader.result;
});
reader.readAsText(e.data);
}
var ws = new WebSocket('ws://127.0.0.1:7790', [ 'pub.sp.nanomsg.org' ]);
ws.onopen = function open() { ws.send('P2ng'); }
ws.onerror = function error(err) { console.log(err); }
ws.onmessage = handle_msg
var sub = new WebSocket('ws://127.0.0.1:7791', [ 'sub.sp.nanomsg.org' ])
sub.onclose = function eh(){}
sub.onerror = function(){}
sub.onopen = function(){}
var input = document.querySelector('input');
input.addEventListener('keydown', function(e){
if (e.which === 13) {
return send();
}
}, false);
document
.querySelector('button')
.addEventListener('click', send, false);
function send(e) {
ws.send(input.value); // send input value
input.value = ''; // clear input
}
</script>
</body>
</html>