OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 /// @domName WebSocket | |
6 /** | |
7 * Use the WebSocket interface to connect to a WebSocket, | |
8 * and to send and receive data on that WebSocket. | |
9 * | |
10 * To use a WebSocket in your web app, first create a WebSocket object, | |
11 * passing the WebSocket URL as an argument to the constructor. | |
12 * | |
13 * var webSocket = new WebSocket('ws://127.0.0.1:1337/ws'); | |
14 * | |
15 * To send data on the WebSocket, use the [send] method. | |
16 * | |
17 * if (webSocket != null && webSocket.readyState == WebSocket.OPEN) { | |
18 * webSocket.send(data); | |
19 * } else { | |
20 * print('WebSocket not connected, message $data not sent'); | |
21 * } | |
22 * | |
23 * To receive data on the WebSocket, register a listener for message events. | |
24 * | |
25 * webSocket.on.message.add((MessageEvent e) { | |
26 * receivedData(e.data); | |
27 * }); | |
28 * | |
29 * The message event handler receives a [MessageEvent] object | |
30 * as its sole argument. | |
31 * You can also define open, close, and error handlers, | |
32 * as specified by [WebSocketEvents]. | |
33 * | |
34 * For more information, see the | |
35 * [WebSockets](http://www.dartlang.org/docs/library-tour/#html-websockets) | |
36 * section of the library tour and | |
37 * [Introducing WebSockets](http://www.html5rocks.com/en/tutorials/websockets/ba
sics/), | |
38 * an HTML5Rocks.com tutorial. | |
39 */ | |
40 abstract class WebSocket implements EventTarget { | |
41 | |
42 factory WebSocket(String url) => _WebSocketFactoryProvider.createWebSocket(url
); | |
43 | |
44 /** | |
45 * @domName EventTarget.addEventListener, EventTarget.removeEventListener, Eve
ntTarget.dispatchEvent | |
46 */ | |
47 WebSocketEvents get on; | |
48 | |
49 static const int CLOSED = 3; | |
50 | |
51 static const int CLOSING = 2; | |
52 | |
53 static const int CONNECTING = 0; | |
54 | |
55 static const int OPEN = 1; | |
56 | |
57 /** @domName WebSocket.URL */ | |
58 abstract String get URL; | |
59 | |
60 /** @domName WebSocket.binaryType */ | |
61 String binaryType; | |
62 | |
63 /** @domName WebSocket.bufferedAmount */ | |
64 abstract int get bufferedAmount; | |
65 | |
66 /** @domName WebSocket.extensions */ | |
67 abstract String get extensions; | |
68 | |
69 /** @domName WebSocket.protocol */ | |
70 abstract String get protocol; | |
71 | |
72 /** @domName WebSocket.readyState */ | |
73 abstract int get readyState; | |
74 | |
75 /** @domName WebSocket.url */ | |
76 abstract String get url; | |
77 | |
78 /** @domName WebSocket.addEventListener */ | |
79 void $dom_addEventListener(String type, EventListener listener, [bool useCaptu
re]); | |
80 | |
81 /** @domName WebSocket.close */ | |
82 void close([int code, String reason]); | |
83 | |
84 /** @domName WebSocket.dispatchEvent */ | |
85 bool $dom_dispatchEvent(Event evt); | |
86 | |
87 /** @domName WebSocket.removeEventListener */ | |
88 void $dom_removeEventListener(String type, EventListener listener, [bool useCa
pture]); | |
89 | |
90 /** @domName WebSocket.send */ | |
91 void send(data); | |
92 } | |
93 | |
94 abstract class WebSocketEvents implements Events { | |
95 | |
96 EventListenerList get close; | |
97 | |
98 EventListenerList get error; | |
99 | |
100 EventListenerList get message; | |
101 | |
102 EventListenerList get open; | |
103 } | |
OLD | NEW |