index.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Hello WebSocket</title>
  5. <script src="sockjs-0.3.4.js"></script>
  6. <script src="stomp.js"></script>
  7. <script type="text/javascript">
  8. var stompClient = null;
  9. function setConnected(connected) {
  10. document.getElementById('connect').disabled = connected;
  11. document.getElementById('disconnect').disabled = !connected;
  12. document.getElementById('conversationDiv').style.visibility = connected ? 'visible' : 'hidden';
  13. document.getElementById('response').innerHTML = '';
  14. }
  15. function connect() {
  16. var socket = new SockJS('/hello');
  17. stompClient = Stomp.over(socket);
  18. stompClient.connect({}, function(frame) {
  19. setConnected(true);
  20. console.log('Connected: ' + frame);
  21. stompClient.subscribe('/direct/greetings', function(greeting){
  22. showGreeting(JSON.parse(greeting.body).content);
  23. });
  24. });
  25. }
  26. function disconnect() {
  27. if (stompClient != null) {
  28. stompClient.disconnect();
  29. }
  30. setConnected(false);
  31. console.log("Disconnected");
  32. }
  33. function sendName() {
  34. var name = document.getElementById('name').value;
  35. stompClient.send("/app/hello", {}, JSON.stringify({ 'name': name }));
  36. }
  37. function showGreeting(message) {
  38. var response = document.getElementById('response');
  39. var p = document.createElement('p');
  40. p.style.wordWrap = 'break-word';
  41. p.appendChild(document.createTextNode(message));
  42. response.appendChild(p);
  43. }
  44. </script>
  45. </head>
  46. <body onload="disconnect()">
  47. <noscript><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies on Javascript being enabled. Please enable
  48. Javascript and reload this page!</h2></noscript>
  49. <div>
  50. <div>
  51. <button id="connect" onclick="connect();">Connect</button>
  52. <button id="disconnect" disabled="disabled" onclick="disconnect();">Disconnect</button>
  53. </div>
  54. <div id="conversationDiv">
  55. <label>What is your name?</label><input type="text" id="name" />
  56. <button id="sendName" onclick="sendName();">Send</button>
  57. <p id="response"></p>
  58. </div>
  59. </div>
  60. </body>
  61. </html>