106 lines
2.7 KiB
HTML
106 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
<script src="stomp.js"></script>
|
|
<style>
|
|
.box {
|
|
width: 440px;
|
|
float: left;
|
|
margin: 0 20px 0 20px;
|
|
}
|
|
|
|
.box div, .box input {
|
|
border: 1px solid;
|
|
-moz-border-radius: 4px;
|
|
border-radius: 4px;
|
|
width: 100%;
|
|
padding: 5px;
|
|
margin: 3px 0 10px 0;
|
|
}
|
|
|
|
.box div {
|
|
border-color: grey;
|
|
height: 300px;
|
|
overflow: auto;
|
|
}
|
|
|
|
div code {
|
|
display: block;
|
|
}
|
|
|
|
#first div code {
|
|
-moz-border-radius: 2px;
|
|
border-radius: 2px;
|
|
border: 1px solid #eee;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
#second div {
|
|
font-size: 0.8em;
|
|
}
|
|
</style>
|
|
<title>RabbitMQ Web STOMP Examples : Echo Server</title>
|
|
<link href="main.css" rel="stylesheet" type="text/css"/>
|
|
</head><body lang="en">
|
|
<h1><a href="index.html">RabbitMQ Web STOMP Examples</a> > Echo Server</h1>
|
|
|
|
<div id="first" class="box">
|
|
<h2>Received</h2>
|
|
<div></div>
|
|
<form><input autocomplete="off" value="Type here..."></input></form>
|
|
</div>
|
|
|
|
<div id="second" class="box">
|
|
<h2>Logs</h2>
|
|
<div></div>
|
|
</div>
|
|
|
|
<script>
|
|
var has_had_focus = false;
|
|
var pipe = function(el_name, send) {
|
|
var div = $(el_name + ' div');
|
|
var inp = $(el_name + ' input');
|
|
var form = $(el_name + ' form');
|
|
|
|
var print = function(m, p) {
|
|
p = (p === undefined) ? '' : JSON.stringify(p);
|
|
div.append($("<code>").text(m + ' ' + p));
|
|
div.scrollTop(div.scrollTop() + 10000);
|
|
};
|
|
|
|
if (send) {
|
|
form.submit(function() {
|
|
send(inp.val());
|
|
inp.val('');
|
|
return false;
|
|
});
|
|
}
|
|
return print;
|
|
};
|
|
|
|
// Stomp.js boilerplate
|
|
var client = Stomp.client('ws://' + window.location.hostname + ':15674/ws');
|
|
client.debug = pipe('#second');
|
|
|
|
var print_first = pipe('#first', function(data) {
|
|
client.send('/topic/test', {"content-type":"text/plain"}, data);
|
|
});
|
|
var on_connect = function(x) {
|
|
id = client.subscribe("/topic/test", function(d) {
|
|
print_first(d.body);
|
|
});
|
|
};
|
|
var on_error = function() {
|
|
console.log('error');
|
|
};
|
|
client.connect('guest', 'guest', on_connect, on_error, '/');
|
|
|
|
$('#first input').focus(function() {
|
|
if (!has_had_focus) {
|
|
has_had_focus = true;
|
|
$(this).val("");
|
|
}
|
|
});
|
|
</script>
|
|
</body></html>
|