var stompClient = null; function setConnected(connected) { $("#connect").prop("disabled", connected); $("#disconnect").prop("disabled", !connected); if (connected) { $("#conversation").show(); } else { $("#conversation").hide(); } $("#messages").html(""); } function connect() { var socket = new SockJS('/ws'); stompClient = Stomp.over(socket); stompClient.connect({}, function (frame) { setConnected(true); console.log('Connected: ' + frame); stompClient.subscribe('/topic/messages', function (message) { showMessage(JSON.parse(message.body)); }); }); } function disconnect() { if (stompClient !== null) { stompClient.disconnect(); } setConnected(false); console.log("Disconnected"); } function sendMessage() { stompClient.send("/app/chat", {}, JSON.stringify({'username': $("#name").val(), 'content': $("#content").val()})); } function showMessage(message) { var date = new Date(message.createdAt); $("#messages").append("" + date.getHours() + ":" + date.getHours() + " Uhr" + message.user + " " + message.content + ""); } $(function () { $("form").on('submit', function (e) { e.preventDefault(); }); $("#connect").click(function () { connect(); }); $("#disconnect").click(function () { disconnect(); }); $("#send").click(function () { sendMessage(); }); });