WebSocket

使用WebSocket接口连接到WebSocket,并在该WebSocket上发送和接收数据。

要在您的Web应用程序中使用WebSocket,首先创建一个WebSocket对象,将WebSocket URL作为参数传递给构造函数。

var webSocket = new WebSocket('ws://127.0.0.1:1337/ws');

要在WebSocket上发送数据,请使用send方法。

if (webSocket != null && webSocket.readyState == WebSocket.OPEN) {
  webSocket.send(data);
} else {
  print('WebSocket not connected, message $data not sent');
}

要在WebSocket上接收数据,注册一个消息事件监听器。

webSocket.onMessage.listen((MessageEvent e) {
  receivedData(e.data);
});

消息事件处理器接收一个MessageEvent对象作为其唯一参数。您还可以定义open、close和error处理器,如Event所述。

有关更多信息,请参阅库之旅中的WebSocket部分和HTML5Rocks.com教程介绍WebSocket

继承
注解
  • @SupportedBrowser(SupportedBrowser.CHROME)
  • @SupportedBrowser(SupportedBrowser.FIREFOX)
  • @SupportedBrowser(SupportedBrowser.IE, '10')
  • @SupportedBrowser(SupportedBrowser.SAFARI)
  • @Unstable()
  • @Native("WebSocket")

构造函数

WebSocket(String url, [Object? protocols])
工厂

属性

binaryType String?
getter/setter对
bufferedAmount int?
无setter
extensions String?
无setter
hashCode int
此对象的哈希码。
无setter继承
on Events
这是一个用于事件流的便捷访问器,仅在显式访问器不可用时使用。
无setter继承
onClose Stream<CloseEvent>
由此WebSocket处理的close事件流。
无setter
onError Stream<Event>
由此WebSocket处理的error事件流。
无setter
onMessage Stream<MessageEvent>
由此WebSocket处理的message事件流。
无setter
onOpen Stream<Event>
WebSocket 处理的 open 事件流。
无setter
protocol String?
无setter
readyState int
无setter
runtimeType Type
对象的运行时类型的表示。
无setter继承
url String?
无setter

方法

addEventListener(String type, EventListener? listener, [bool? useCapture]) → void
继承
close([int? code, String? reason]) → void
dispatchEvent(Event event) bool
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
removeEventListener(String type, EventListener? listener, [bool? useCapture]) → void
继承
send(dynamic data) → void
通过此连接向服务器传输数据。
sendBlob(Blob data) → void
通过此连接向服务器传输数据。
sendByteBuffer(ByteBuffer data) → void
通过此连接向服务器传输数据。
sendString(String data) → void
通过此连接向服务器传输数据。
sendTypedData(TypedData data) → void
通过此连接向服务器传输数据。
toString() String
该对象的字符串表示形式。
继承

运算符

operator ==(Object other) bool
等号运算符。
继承

静态属性

supported bool
检查当前平台是否支持此类型。
无setter

常量

CLOSED → const int
closeEvent → const EventStreamProvider<CloseEvent>
静态工厂,用于将 close 事件暴露给不是 WebSocket 实例的事件处理器。
CLOSING → const int
CONNECTING → const int
errorEvent → const EventStreamProvider<Event>
静态工厂,用于将 error 事件暴露给不是 WebSocket 实例的事件处理器。
messageEvent → const EventStreamProvider<MessageEvent>
静态工厂,用于将 message 事件暴露给不是 WebSocket 实例的事件处理器。
OPEN → const int
openEvent → const EventStreamProvider<Event>
静态工厂,用于将 open 事件暴露给不是 WebSocket 实例的事件处理器。