--- title: WebSocket slug: Web/API/WebSocket tags: - API - Interface - WebSocket - WebSockets translation_of: Web/API/WebSocket ---
{{APIRef("Web Sockets API")}}

O objeto WebSocket fornece a API para criar e gerir uma ligação WebSocket a um servidor, bem como para enviar e receber dados sobre a ligação.

Para criar uma WebSocket, use o construtor WebSocket().

Constructor

{{domxref("WebSocket.WebSocket", "WebSocket(url[, protocols])")}}
Devolve um objeto WebSocket acabado de criar.

Constantes

Constante Valor
WebSocket.CONNECTING 0
WebSocket.OPEN 1
WebSocket.CLOSING 2
WebSocket.CLOSED 3

Propriedades

{{domxref("WebSocket.binaryType")}}
O tipo de dados binarios usado pela conexão.
{{domxref("WebSocket.bufferedAmount")}} {{readonlyinline}}
O numero de bytes de dados em fila.
{{domxref("WebSocket.extensions")}} {{readonlyinline}}
As extensões selecionadas pelo servidor.
{{domxref("WebSocket.onclose")}}
Um event listener para ser chamado quando a ligação terminar.
{{domxref("WebSocket.onerror")}}
Um event listener para ser chamado quando um erro ocorre.
{{domxref("WebSocket.onmessage")}}
Um event listener para ser chamado quando uma mensagem é recebida do servidor.
{{domxref("WebSocket.onopen")}}
Um event listener para ser chamado quando a ligação é iniciada.
{{domxref("WebSocket.protocol")}} {{readonlyinline}}
O sub-protocolo selecionado pelo servidor.
{{domxref("WebSocket.readyState")}} {{readonlyinline}}
O estado atual da conexão.
{{domxref("WebSocket.url")}} {{readonlyinline}}
O URL absoluto da WebSocket.

Métodos

{{domxref("WebSocket.close", "WebSocket.close([code[, reason]])")}}
Termina a conexão.
{{domxref("WebSocket.send", "WebSocket.send(data)")}}
Adiciona dados à fila para ser transmitida.

Eventos

Observe estes eventos usando addEventListener() ou atribuindo um agente de escuta de eventos à propriedade oneventname desta interface.

{{domxref("WebSocket/close_event", "close")}}
Lançado quando uma ligação com um WebSocket é fechada.
Também disponível através da propriedade {{domxref("WebSocket/onclose", "onclose")}}.
{{domxref("WebSocket/error_event", "error")}}
Lançado quando uma ligação com um WebSocket foi fechada devido a um erro, como quando alguns dados não puderam ser enviados.
Também disponível através da propriedade {{domxref("WebSocket/onerror", "onerror")}}.
{{domxref("WebSocket/message_event", "message")}}
Lançado quando os dados são recebidos através de um WebSocket.
Também disponível através da propriedade {{domxref("WebSocket/onmessage", "onmessage")}}.
{{domxref("WebSocket/open_event", "open")}}
Lançado quando uma ligação com um WebSocket é aberta.
Também disponível através da propriedade {{domxref("WebSocket/onopen", "onopen")}}.

Exemplos

// Criar ligação WebSocket.
const socket = new WebSocket('ws://localhost:8080');

// Ligação conectada
socket.addEventListener('open', function (event) {
    socket.send('Hello Server!');
});

// Ficar a ouvir por mensagens
socket.addEventListener('message', function (event) {
    console.log('Message from server ', event.data);
});

Especificações

Especificação Estado
{{SpecName("HTML WHATWG", "#network", "WebSocket")}} {{Spec2("HTML WHATWG")}}

Compatibilidade

{{Compat("api.WebSocket")}}

Ver também