WebSockets - Eventos e Ações
É necessário inicializar a conexão do cliente ao servidor para a comunicação entre eles. Para inicializar a conexão, é necessária a criação de um objeto Javascript com a URL com o servidor remoto ou local.
var socket = new WebSocket(“ ws://echo.websocket.org ”);
O URL mencionado acima é um endereço público que pode ser usado para testes e experimentos. O servidor websocket.org está sempre ativo e quando recebe a mensagem e a envia de volta para o cliente.
Esta é a etapa mais importante para garantir que o aplicativo funcione corretamente.
Web Sockets - Eventos
Existem quatro principais Web Socket API events -
- Open
- Message
- Close
- Error
Cada um dos eventos são tratados implementando funções como onopen, onmessage, onclose e onerrorfunções respectivamente. Também pode ser implementado com a ajuda do método addEventListener.
A breve visão geral dos eventos e funções são descritos a seguir -
Abrir
Uma vez que a conexão foi estabelecida entre o cliente e o servidor, o evento open é disparado da instância do Web Socket. É chamado de handshake inicial entre cliente e servidor. O evento, que é gerado assim que a conexão é estabelecida, é chamadoonopen.
mensagem
O evento de mensagem ocorre geralmente quando o servidor envia alguns dados. As mensagens enviadas pelo servidor para o cliente podem incluir mensagens de texto simples, dados binários ou imagens. Sempre que os dados são enviados, oonmessage função é disparada.
Fechar
O evento Close marca o fim da comunicação entre o servidor e o cliente. Fechar a conexão é possível com a ajuda deoncloseevento. Após marcar o fim da comunicação com a ajuda deoncloseevento, nenhuma mensagem pode ser transferida entre o servidor e o cliente. O fechamento do evento também pode acontecer devido à falta de conectividade.
Erro
Marcas de erro para algum engano, que acontece durante a comunicação. É marcado com a ajuda deonerror evento. Onerroré sempre seguido pelo encerramento da conexão. A descrição detalhada de cada evento é discutida em capítulos posteriores.
Web Sockets - Ações
Os eventos geralmente são acionados quando algo acontece. Por outro lado, as ações são realizadas quando um usuário deseja que algo aconteça. As ações são feitas por chamadas explícitas usando funções pelos usuários.
O protocolo Web Socket suporta duas ações principais, a saber -
- enviar( )
- Fechar( )
enviar ( )
Esta ação é geralmente preferida para alguma comunicação com o servidor, o que inclui o envio de mensagens, o que inclui arquivos de texto, dados binários ou imagens.
Uma mensagem de bate-papo enviada com a ajuda da ação send () é a seguinte -
// get text view and button for submitting the message
var textsend = document.getElementById(“text-view”);
var submitMsg = document.getElementById(“tsend-button”);
//Handling the click event
submitMsg.onclick = function ( ) {
// Send the data
socket.send( textsend.value);
}
Note - O envio das mensagens só é possível se a conexão estiver aberta.
Fechar ( )
Este método significa aperto de mão de adeus. Ele termina a conexão completamente e nenhum dado pode ser transferido até que a conexão seja restabelecida.
var textsend = document.getElementById(“text-view”);
var buttonStop = document.getElementById(“stop-button”);
//Handling the click event
buttonStop.onclick = function ( ) {
// Close the connection if open
if (socket.readyState === WebSocket.OPEN){
socket.close( );
}
}
Também é possível fechar a conexão deliberadamente com a ajuda do seguinte trecho de código -
socket.close(1000,”Deliberate Connection”);