/[projects]/miscJava/Test4Simple/src/main/webapp/WebsockTest.html
ViewVC logotype

Annotation of /miscJava/Test4Simple/src/main/webapp/WebsockTest.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2516 - (hide annotations) (download) (as text)
Mon Apr 27 15:41:43 2015 UTC (9 years, 1 month ago) by torben
File MIME type: text/html
File size: 2394 byte(s)
forked test3 to test4 with out the advanced ejb stuff etc
1 torben 2516 <html>
2     <head>
3     <title>Test3 :: Websocket Test</title>
4     <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
5    
6     <script type="text/javascript">
7    
8     var actTime = 0;
9     var socket = null;
10    
11     function setActTime() {
12     actTime = new Date().getTime();
13     }
14    
15     function append(str) {
16     var d = new Date();
17     var dateStr = "[" + d.toLocaleTimeString() + "] ";
18     var log = $("#log");
19     log.val( log.val() + dateStr + str + "\n")
20     }
21    
22     function sendMessage() {
23     try {
24     var txt = $("#txt").val();
25     txt = $.trim(txt);
26     //append(txt);
27     if (txt == "")
28     return;
29    
30     socket.send( "CHAT#" + txt);
31    
32     $("#txt").val("");
33     setActTime();
34    
35     } catch(exception) {
36     append(exception);
37     }
38     }
39    
40     $( function() {
41     $("#log").val("");
42     append("starting app");
43    
44     try {
45     var url = "ws://" + document.location.host + "/Test3/wstest";
46     append("Opening connection to " + url)
47    
48     socket = new WebSocket(url);
49    
50     socket.onopen = function() {
51     append("Socket has been opened!");
52     setActTime();
53     }
54    
55     socket.onmessage = function(msg){
56     append(msg.data); //Awesome!
57     setActTime();
58     }
59    
60     socket.onerror = function(evt) {
61     append("*** Error om client websocket ***");
62     }
63    
64     socket.onclose = function(){
65     var now = new Date().getTime();
66     var elapsed = now - actTime;
67     elapsed = elapsed / 1000;
68    
69     append('Connection closed after ' + elapsed + ' seconds of inactivity');
70     }
71     } catch(exception){
72     append(exception);
73     }
74    
75     $("#btn").click( function() {
76     sendMessage();
77     });
78    
79     $("#btnNick").click( function() {
80     var nick = $("#nick").val();
81     nick = $.trim(nick);
82    
83     if (nick == "") {
84     alert("Nick can not be empty");
85     return;
86     }
87    
88     try {
89     socket.send( "NICK#" + nick);
90     } catch(exception) {
91     append(exception);
92     }
93    
94     });
95    
96     $(document).keypress(function(e) {
97     if(e.which == 13) {
98     sendMessage();
99     }
100     });
101    
102     $(window).unload(function(){
103     socket.close();
104     });
105    
106     });
107    
108    
109     </script>
110    
111     </head>
112     <body>
113    
114     <h2>Websocket test chat</h2>
115    
116     <textarea rows="30" cols="160" id="log" readonly></textarea>
117     <br>
118     <input size=120 type="text" name="txt" id="txt">
119     <button id="btn">Submit</button><br><br>
120    
121     <input size=20 type="text" name="nick" id="nick">
122     <button id="btnNick">Set Nick</button><br><br>
123    
124     <br><br>
125     <font size="2">
126     If using websockets with haproxy look into <code>timeout tunnel</code> option.
127     </font>
128    
129     </body>
130     </html>

  ViewVC Help
Powered by ViewVC 1.1.20