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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
---
title: CloseEvent
slug: Web/API/CloseEvent
translation_of: Web/API/CloseEvent
---
<p>{{APIRef("Websockets API")}}</p>
<p>Un evento di tipo <code>CloseEvent</code> viene inviato al client tramite <a href="/en-US/docs/Glossary/WebSockets">WebSockets</a> in fase di chiusura della connessione. Questo viene ricevuto dal <em>listener</em> registrato sull'attributo <strong style="font-family: courier new,andale mono,monospace; font-weight: bold;">onclose </strong>dell'oggetto di tipo <code>WebSocket</code>.</p>
<h2 id="Attributes" name="Attributes">Costruttore</h2>
<dl>
<dt>{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}</dt>
<dd>Crea un nuovo <code>CloseEvent</code>.</dd>
</dl>
<h2 id="Attributes" name="Attributes">Proprietà</h2>
<dl>
<dt>{{domxref("CloseEvent.code")}} {{readOnlyInline}}</dt>
<dd>Restituisce un <code>unsigned short</code> che contiene il codice di chiusura inviato dal server. Questi sono i valori ammessi.
<table class="standard-table">
<tbody>
<tr>
<td class="header">Status code</td>
<td class="header">Name</td>
<td class="header">Description</td>
</tr>
<tr>
<td><code>0</code>–<code>999</code></td>
<td> </td>
<td><strong>Riservati e non usati.</strong></td>
</tr>
<tr>
<td><code>1000</code></td>
<td><code>CLOSE_NORMAL</code></td>
<td>Chiusura normale; la connessione si è conclusa normalmente, qualsiasi fosse il suo scopo.</td>
</tr>
<tr>
<td><code>1001</code></td>
<td><code>CLOSE_GOING_AWAY</code></td>
<td>L'<em>endpoint</em> se ne è andato, o per un errore del server oppure perché la pagina che ha aperto la connessione non è più attiva.</td>
</tr>
<tr>
<td><code>1002</code></td>
<td><code>CLOSE_PROTOCOL_ERROR</code></td>
<td><span style="background-color: rgba(212, 221, 228, 0.14902);">L'</span><em>endpoint</em><span style="background-color: rgba(212, 221, 228, 0.14902);"> </span>ha terminato la connessione per un errore di protocollo.</td>
</tr>
<tr>
<td><code>1003</code></td>
<td><code>CLOSE_UNSUPPORTED</code></td>
<td>La connessione è stata terminata perché l'<em>endpoint</em> ha ricevuto dei dati che non può accettare (per esempio, dati binari a fronte di un <em>endpoint</em> che consuma solo testo).</td>
</tr>
<tr>
<td><code>1004</code></td>
<td> </td>
<td><strong>Riservato.</strong> In futuro potrebbe esserne rivelato l'uso.</td>
</tr>
<tr>
<td><code>1005</code></td>
<td><code>CLOSE_NO_STATUS</code></td>
<td><strong>Riservato.</strong> Indica che non è stato ricevuto nessuno stato di chiusura sebbene fosse atteso.</td>
</tr>
<tr>
<td><code>1006</code></td>
<td><code>CLOSE_ABNORMAL</code></td>
<td><strong>Riservato.</strong> Usato per indicare che la connessione è stata chiusa in modo anomalo (cioè, cioè senza l'invio del <em>frame</em> di chiusura) dove invece era atteso un codice di chiusura.</td>
</tr>
<tr>
<td><code>1007</code></td>
<td> </td>
<td>L'<em>endpoint</em> ha terminato la connessione perché ha ricevuto un messaggio con dati inconsistenti (<span style="line-height: 1.572;">per esempio, dati non-UTF-8 all'interno di un messaggio testuale).</span></td>
</tr>
<tr>
<td><code>1008</code></td>
<td> </td>
<td><span style="background-color: rgba(212, 221, 228, 0.14902);">L'</span><em>endpoint</em><span style="background-color: rgba(212, 221, 228, 0.14902);"> </span>ha terminato la connessione perché ha ricevuto un messaggio che viola la sua politica. E' un codice generico, quando 1003 e 1009 non sono adatti.</td>
</tr>
<tr>
<td><code>1009</code></td>
<td><code>CLOSE_TOO_LARGE</code></td>
<td><span style="background-color: rgba(212, 221, 228, 0.14902);">L'</span><em>endpoint</em><span style="background-color: rgba(212, 221, 228, 0.14902);"> </span>ha terminato la connessione perché ha ricevuto un frame di dati troppo grande.</td>
</tr>
<tr>
<td><code>1010</code></td>
<td> </td>
<td>Il client ha terminato la connessione perché era attesa una negoziazione di una o più "estensioni" del protocollo che però non è avvenuta.</td>
</tr>
<tr>
<td><code>1011</code></td>
<td> </td>
<td>Il server ha terminato la connessione perché ha incontrato una condizione inattesa che gli ha impedito di completare la richiesta.</td>
</tr>
<tr>
<td><code>1012</code>–<code>1014</code></td>
<td> </td>
<td><strong>Riservati per usi futuri dallo standard WebSocket.</strong></td>
</tr>
<tr>
<td><code>1015</code></td>
<td> </td>
<td><strong>Riservato.</strong> Indica che la connessione è stata chiusa a causa di un fallimento dell'<em>handshake</em> TLS (per esempio, il certificato del server non può essere verificato).</td>
</tr>
<tr>
<td><code>1016</code>–<code>1999</code></td>
<td> </td>
<td><strong>Riservati per usi futuri dallo standard WebSocket.</strong></td>
</tr>
<tr>
<td><code>2000</code>–<code>2999</code></td>
<td> </td>
<td><strong>Riservati per estensioni WebSocket.</strong></td>
</tr>
<tr>
<td><code>3000</code>–<code>3999</code></td>
<td> </td>
<td>Disponibili per librerie e <em>framework</em>. <strong>Meglio non</strong> usarli nelle applicazioni.</td>
</tr>
<tr>
<td><code>4000</code>–<code>4999</code></td>
<td> </td>
<td>Disponibili per essere utilizzati dalle applicazioni.</td>
</tr>
</tbody>
</table>
</dd>
<dt>{{domxref("CloseEvent.reason")}} {{readOnlyInline}}</dt>
<dd>Restituisce un {{ domxref("DOMString") }} che indica la ragione per cui il server ha chiuso la connessione. Questo dipende dal particolare server e sotto-protocollo.</dd>
<dt>{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}</dt>
<dd>Restituisce un {{jsxref("Boolean")}} che indica se la connessione è stata chiusa senza problemi o meno.</dd>
</dl>
<p> </p>
<h2 id="Compatibilità_con_i_browser">Compatibilità con i browser</h2>
<p> </p>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatGeckoDesktop("8.0") }} [1][2]</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatGeckoMobile("8.0") }}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<p>[1] Prima di Gecko 8.0 {{ geckoRelease("8.0") }}, Gecko inviava l'evento WebSocket {{event("close")}} come semplice evento. Il supporto al <code>CloseEvent</code> è stato implementato in Gecko 8.0.</p>
<p>[2] Prima di Gecko 12.0 {{ geckoRelease("12.0") }}, Gecko restituiva il codice di chiusura <code>CLOSE_NORMAL</code> anche quando il canale veniva chiuso a causa di un errore inatteso, o anche a causa di un errore non coperto dalla specifica. Adesso viene restituito <code>CLOSE_GOING_AWAY</code>.</p>
<h2 id="Vedi_anche">Vedi anche</h2>
<ul>
<li><a href="/en/WebSockets/WebSockets_reference/WebSocket" title="en/WebSockets/WebSockets reference/WebSocket"><code>WebSocket</code></a></li>
</ul>
<p> </p>
|