Simple Chat Example▲
Sélectionnez
&
lt;html&
gt;
&
lt;head&
gt;
&
lt;title&
gt;WebSocket Chat Client&
lt;/
title&
gt;
&
lt;/
head&
gt;
&
lt;body&
gt;
&
lt;h1&
gt;WebSocket Chat Client&
lt;/
h1&
gt;
&
lt;p&
gt;
Host
:
&
lt;input id=
"webSocketHost"
type=
"text"
value=
"localhost:1234"
/&
gt;
&
lt;/
p&
gt;
&
lt;p&
gt;
&
lt;button onClick=
"initWebSocket();"
&
gt;Connect&
lt;/
button&
gt;
&
lt;button id=
"disconnectButton"
onClick=
"stopWebSocket();"
disabled&
gt;Disconnect&
lt;/
button&
gt;
&
lt;button onClick=
"checkSocket();"
&
gt;State&
lt;/
button&
gt;
&
lt;/
p&
gt;
&
lt;p&
gt;
&
lt;textarea id=
"debugTextArea"
style=
"width:400px;height:200px;"
readonly&
gt;&
lt;/
textarea&
gt;
&
lt;/
p&
gt;
&
lt;p&
gt;
&
lt;input type=
"text"
id=
"inputNick"
value=
"nickname"
/&
gt;
&
lt;input type=
"text"
id=
"inputText"
onkeydown=
"if(event.keyCode==13)sendMessage();"
/&
gt;
&
lt;button id=
"sendButton"
onClick=
"sendMessage();"
disabled&
gt;Send&
lt;/
button&
gt;
&
lt;/
p&
gt;
&
lt;script type=
"text/javascript"
&
gt;
var debugTextArea =
document.getElementById("debugTextArea"
);
function debug(message) {
debugTextArea.value +=
message +
"
\n
"
;
debugTextArea.scrollTop =
debugTextArea.scrollHeight;
}
function sendMessage() {
var nickname =
document.getElementById("inputNick"
).value;
var msg =
document.getElementById("inputText"
).value;
var strToSend =
nickname +
": "
+
msg;
if
( websocket !=
null )
{
document.getElementById("inputText"
).value =
""
;
websocket.send( strToSend );
console.log( "string sent :"
, '"'
+
strToSend+
'"'
);
debug(strToSend);
}
}
var websocket =
null;
function initWebSocket() {
try
{
if
(typeof MozWebSocket ==
'function')
WebSocket =
MozWebSocket;
if
( websocket &
amp;&
amp; websocket.readyState ==
1
)
websocket.close();
var wsUri =
"ws://"
+
document.getElementById("webSocketHost"
).value;
websocket =
new
WebSocket( wsUri );
websocket.onopen =
function (evt) {
debug("CONNECTED"
);
document.getElementById("disconnectButton"
).disabled =
false
;
document.getElementById("sendButton"
).disabled =
false
;
}
;
websocket.onclose =
function (evt) {
debug("DISCONNECTED"
);
document.getElementById("disconnectButton"
).disabled =
true
;
document.getElementById("sendButton"
).disabled =
true
;
}
;
websocket.onmessage =
function (evt) {
console.log( "Message received :"
, evt.data );
debug( evt.data );
}
;
websocket.onerror =
function (evt) {
debug('ERROR: ' +
evt.data);
}
;
}
catch
(exception) {
debug('ERROR: ' +
exception);
}
}
function stopWebSocket() {
if
(websocket)
websocket.close();
}
function checkSocket() {
if
(websocket !=
null) {
var stateStr;
switch
(websocket.readyState) {
case
0
: {
stateStr =
"CONNECTING"
;
break
;
}
case
1
: {
stateStr =
"OPEN"
;
break
;
}
case
2
: {
stateStr =
"CLOSING"
;
break
;
}
case
3
: {
stateStr =
"CLOSED"
;
break
;
}
default
:
{
stateStr =
"UNKNOW"
;
break
;
}
}
debug("WebSocket state = "
+
websocket.readyState +
" ( "
+
stateStr +
" )"
);
}
else
{
debug("WebSocket is null"
);
}
}
&
lt;/
script&
gt;
&
lt;/
body&
gt;
&
lt;/
html&
gt;