index.html 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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('/topic/greetings', function(greeting){
  22. showGreeting(JSON.parse(greeting.body).content);
  23. });
  24. });
  25. }
  26. function disconnect() {
  27. stompClient.disconnect();
  28. setConnected(false);
  29. console.log("Disconnected");
  30. }
  31. function sendName() {
  32. var name = document.getElementById('name').value;
  33. stompClient.send("/app/hello", {}, JSON.stringify({ 'name': name }));
  34. }
  35. function showGreeting(message) {
  36. var response = document.getElementById('response');
  37. var p = document.createElement('p');
  38. p.style.wordWrap = 'break-word';
  39. p.appendChild(document.createTextNode(message));
  40. response.appendChild(p);
  41. }
  42. </script>
  43. </head>
  44. <body>
  45. <noscript><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies on Javascript being enabled. Please enable
  46. Javascript and reload this page!</h2></noscript>
  47. <div>
  48. <div>
  49. <button id="connect" onclick="connect();">Connect</button>
  50. <button id="disconnect" disabled="disabled" onclick="disconnect();">Disconnect</button>
  51. </div>
  52. <div id="conversationDiv">
  53. <label>What is your name?</label><input type="text" id="name" />
  54. <button id="sendName" onclick="sendName();">Send</button>
  55. <p id="response"></p>
  56. </div>
  57. </div>
  58. </body>
  59. </html>