aboutsummaryrefslogtreecommitdiff
path: root/files/pt-pt/web/api/websocket/index.html
blob: 9820afc0b568c97ba618de6a2c030332e49663f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
title: WebSocket
slug: Web/API/WebSocket
tags:
  - API
  - Interface
  - WebSocket
  - WebSockets
translation_of: Web/API/WebSocket
---
<div>{{APIRef("Web Sockets API")}}</div>

<p>O objeto <code>WebSocket</code> fornece a API para criar e gerir uma ligação <a href="/pt-PT/docs/Web/API/WebSockets_API">WebSocket</a> a um servidor, bem como para enviar e receber dados sobre a ligação.</p>

<p>Para criar uma <code>WebSocket</code>, use o construtor <code><a href="/pt-PT/docs/Web/API/WebSocket/WebSocket">WebSocket()</a></code>.</p>

<h2 id="Constructor">Constructor</h2>

<dl>
 <dt>{{domxref("WebSocket.WebSocket", "WebSocket(url[, protocols])")}}</dt>
 <dd>Devolve um objeto <code>WebSocket</code> acabado de criar.</dd>
</dl>

<h2 id="Constantes">Constantes</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td class="header">Constante</td>
   <td class="header">Valor</td>
  </tr>
  <tr>
   <td><code>WebSocket.CONNECTING</code></td>
   <td><code>0</code></td>
  </tr>
  <tr>
   <td><code>WebSocket.OPEN</code></td>
   <td><code>1</code></td>
  </tr>
  <tr>
   <td><code>WebSocket.CLOSING</code></td>
   <td><code>2</code></td>
  </tr>
  <tr>
   <td><code>WebSocket.CLOSED</code></td>
   <td><code>3</code></td>
  </tr>
 </tbody>
</table>

<h2 id="Propriedades">Propriedades</h2>

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

<h2 id="Métodos">Métodos</h2>

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

<h2 id="Eventos">Eventos</h2>

<p>Observe estes eventos usando <code>addEventListener()</code> ou atribuindo um agente de escuta de eventos à propriedade <code>oneventname</code> desta interface.</p>

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

<h2 id="Exemplos">Exemplos</h2>

<pre class="brush: js notranslate">// 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);
});</pre>

<h2 id="Especificações">Especificações</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th>Especificação</th>
   <th>Estado</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName("HTML WHATWG", "#network", "WebSocket")}}</td>
   <td>{{Spec2("HTML WHATWG")}}</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilidade">Compatibilidade</h2>

<div>


<p>{{Compat("api.WebSocket")}}</p>
</div>

<h2 id="Ver_também">Ver também</h2>

<ul>
 <li><a href="/pt-PT/docs/Web/API/WebSockets_API/Escrever_aplica%C3%A7%C3%A3o_cliente_de_WebSocket">Escrever aplicação cliente de WebSocket</a></li>
</ul>