-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwebsocket.js
More file actions
60 lines (47 loc) · 1.18 KB
/
websocket.js
File metadata and controls
60 lines (47 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const wsUri = 'wss://echo.websocket.org/';
let output;
function init() {
output = document.getElementById('output');
testWebSocket();
}
function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.addEventListener('open', (evt) => {
onOpen(evt);
});
websocket.addEventListener('close', (evt) => {
onClose(evt);
});
websocket.addEventListener('message', (evt) => {
onMessage(evt);
});
websocket.addEventListener('error', (evt) => {
onError(evt);
});
}
function onOpen(evt) {
writeToScreen('CONNECTED');
doSend('WebSocket rocks');
}
function onClose(evt) {
writeToScreen('DISCONNECTED');
}
function onMessage(evt) {
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data + '</span>');
}
function onError(evt) {
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}
function doSend(message) {
writeToScreen('SENT: ' + message);
for (let i of [1,2,3]) {
websocket.send(`message ${i}`);
}
}
function writeToScreen(message) {
var pre = document.createElement('p');
pre.style.wordWrap = 'break-word';
pre.innerHTML = message;
output.appendChild(pre);
}
window.addEventListener('load', init, false);