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

Um CloseEvent é enviado a clientes usando {{Glossary("WebSockets")}} quando a conexão é terminada. É enviado ao listner indicado pelo atributo onclose de objeto WebSocket.

Construtor

{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}
Cria um novo CloseEvent.

Propriedades

Esta interface também herda propriedades do {{domxref("Event")}} de qual se deriva.

{{domxref("CloseEvent.code")}} {{readOnlyInline}}
Devolve uma unsigned short que contem o código enviado pelo servidor. Os seguintes valores são os códigos de estado permitidos, as definições foram traduzidas a partir do site da IANA. Note que os códigos 1xxx são só usados internamente pelo WebSocket e não para uso com os dados transportados (como quando o protocolo da aplicação é invalido). Os únicos códigos que podem ser especificados no Firefox são o código 1000 e a série de 3000 a 4999 inclusivo [Fonte, Bug].
Código Nome Descrição
0999 Reservado e não utilizado.
1000 Normal Closure

Encerramento normal; a conexão completou a tarefa para qual foi criada.

1001 Going Away

O terminal está a desaparecer, seja devido a uma falha do servidor ou porque o navegador está a navegar para longe da página que abriu a ligação.

1002 Protocol Error O terminal está a terminar a conexão devido a um erro de protocolo.
1003 Unsupported Data A conexão está a ser terminada porque o terminal recebeu dados num formato que não aceita (por exemplo um terminal de texto receber dados binarios).
1004 Reservado. Uma definição pode ser atribuída no futuro.
1005 No Status Received Reservado.  Indica que nenhum código de estado foi oferecido, apesar de ser esperado um código.
1006 Abnormal Closure Reservado. Usado para indicar que a conexão fechou anormalmente (isto é, sem uma close frame ser enviada) quando um código era esperado.
1007 Invalid frame payload data O terminal está a terminar a conexão porque a mensagem continha dados inconsistentes (e.x. dados não codificados em UTF-8 numa mensagem de texto).
1008 Policy Violation O terminal está a terminar a conexão porque recebeu uma mensagem que viola a sua política. Isto é um código genérico, usado quando os códigos 1003 e 1009 não são apropriados à situação.
1009 Message too big O terminal está a terminar a conexão porque o data frame recebido é demasiado grande.
1010 Missing Extension O cliente está a terminar a conexão porque esperava que o servidor negociasse uma ou mais extensões, mas não o fez.
1011 Internal Error O servidor está a terminar a conexão porque encontrou uma condição inesperada que a impede de completar o pedido.
1012 Service Restart O servidor está a terminar a conexão porque está a reiniciar. [Ref]
1013 Try Again Later O servidor está a terminar a conexão devido a uma condição temporária, por exemplo está sobrecarregado e está a reduzir o número de clientes. [Ref]
1014 Bad Gateway O servidor está a agir como uma gateway ou proxy e recebeu uma resposta inválida dum servidor mais adiante na conexão. Isto é parecido com o código de estado HTTP 502.
1015 TLS Handshake Reservado. Indica que a conexão foi terminada devido a uma falha na execução de um aperto de mão TLS (por exemplo, o certificado do servidor não pode ser verificado).
10161999 Reservado para o futuro uso de padrões WebSocket.
20002999 Reservado para uso de extensões de WebSocket.
30003999 Disponivel para uso por bibliotecas e frameworks. Não é para ser utilizado por aplicações. Disponível para registo através da IANA de forma de primeiro a chegar primeiro servido.
40004999 Disponível para uso por aplicações.
{{domxref("CloseEvent.reason")}} {{readOnlyInline}}
Devolve uma {{domxref("DOMString")}} a indicar a razão por qual o servidor terminou a conexão. Isto é específico ao servidor e sub-protocolo.
{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}
Devolve um {{jsxref("Boolean")}} que indica se a conexão não foi terminada de forma limpa.

Métodos

Esta interface também herda métodos de {{domxref("Event")}} de qual se deriva.

{{domxref("CloseEvent.initCloseEvent()")}} {{Non-standard_inline}} {{Obsolete_inline}}
Inicializa o valor de um CloseEvent. Se o evento já foi enviado, o método não faz nada. Este método é obsoleto, use antes o construtor {{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}.

Especificações

Especificação Estado Comentário
{{ SpecName('HTML WHATWG', 'web-sockets.html#the-closeevent-interface', 'CloseEvent') }} {{ Spec2('HTML WHATWG') }} Definição inicial.

Compatibilidade

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

Ver também