WebSockets - Abrindo conexões
Depois que uma conexão for estabelecida entre o cliente e o servidor, o evento open é disparado a partir da instância do Web Socket. É chamado de handshake inicial entre cliente e servidor.
O evento, que é gerado assim que a conexão é estabelecida, é chamado de onopen. Criar conexões Web Socket é muito simples. Tudo que você precisa fazer é ligar para oWebSocket constructor e passe a URL do seu servidor.
O código a seguir é usado para criar uma conexão Web Socket -
// Create a new WebSocket.
var socket = new WebSocket('ws://echo.websocket.org');
Assim que a conexão for estabelecida, o evento open será disparado em sua instância do Web Socket.
onopen refere-se ao handshake inicial entre o cliente e o servidor que levou ao primeiro negócio e o aplicativo da web está pronto para transmitir os dados.
O seguinte snippet de código descreve a abertura da conexão do protocolo Web Socket -
socket.onopen = function(event) {
console.log(“Connection established”);
// Display user friendly messages for the successful establishment of connection
var.label = document.getElementById(“status”);
label.innerHTML = ”Connection established”;
}
É uma boa prática fornecer feedback apropriado aos usuários que aguardam o estabelecimento da conexão do Web Socket. No entanto, sempre é notado que as conexões do Web Socket são comparativamente rápidas.
A demonstração da conexão do Web Socket estabelecida é documentada no URL fornecido - https://www.websocket.org/echo.html
Um instantâneo do estabelecimento da conexão e resposta ao usuário é mostrado abaixo -
O estabelecimento de um estado aberto permite a comunicação full duplex e a transferência de mensagens até que a conexão seja encerrada.
Exemplo
Construindo o arquivo cliente-HTML5.
<!DOCTYPE html>
<html>
<meta charset = "utf-8" />
<title>WebSocket Test</title>
<script language = "javascript" type = "text/javascript">
var wsUri = "ws://echo.websocket.org/";
var output;
function init() {
output = document.getElementById("output");
testWebSocket();
}
function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
}
function onOpen(evt) {
writeToScreen("CONNECTED");
}
window.addEventListener("load", init, false);
</script>
<h2>WebSocket Test</h2>
<div id = "output"></div>
</html>
O resultado será o seguinte -
O arquivo HTML5 e JavaScript acima mostra a implementação de dois eventos do Web Socket, a saber -
onLoad que ajuda na criação do objeto JavaScript e inicialização da conexão.
onOpen estabelece conexão com o servidor e também envia o status.