HTML and CSS Reference
In-Depth Information
document.getElementById("stop").onclick = function () {
if (worker) {
worker.terminate();
}
};
})();
</script>
We also need a function for the Start button, an error event handler, and a function for the Stop button.
The function that actually performs the counting takes place in an external
.js
file (Listing 6-18).
Listing 6-18.
The
webworker.js
File
onmessage = function (evt) {
for (var i = evt.data, t = 10000; i < t; i++) {
postMessage(i);
};
};
The Web Workers API is supported by IE10+, Firefox 3.5+, Chrome 5.0+, Safari 4.0+, and Opera 10.6+.
The HTML5 WebSocket API
The WebSocket API can be used for bidirectional, full-duplex communication over a Transmission Control Protocol
(TCP) socket.
The WebSocket API is being standardized by the World Wide Web Consortium [15].
After building a WebSocket connection with the web server, data can be retrieved from the server using the
onmessage
event handler and can be sent from the client to the server by the
send()
method.
A new
WebSocket
object can be created as shown in Listing 6-19.
Listing 6-19.
A New
WebSocket
Object
var Socket = new WebSocket(http://example.com/ws/);
Optionally, the protocol can also be specified after the URI.
The WebSocket object has two read-only attributes:
Socket.readyState
and
Socket.bufferedAmount
. The first
one represents the connection state (
0
is no connection yet,
1
is connection has been built,
2
is closing handshake,
3
is
connection closed or cannot be established). The second attribute gives the number of bytes queued using the
send()
method.
The WebSocket API supports four events:
open
(socket connection established),
message
(client receives data
from server),
error
(error in communication), and
close
(the connection is closed). They can be handled by the
Socket.onopen
,
Socket.onmessage
,
Socket.onerror
, and
Socket.onclose
event handlers, respectively.
The two methods of WebSocket are
Socket.send()
(the
send()
method transmits data through the connection),
and
Socket.close()
(the
close()
method is used to terminate the existing connection).
As an example, we create a bidirectional TCP socket between the client and the server in the document head
(Listing 6-20).
Search WWH ::
Custom Search