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 和错误处理器,如 Event 所规定的。

有关更多信息和 JavaScript 库中的 WebSocket 部分,请参阅 WebSockets 区段和 HTML5Rocks.com 教程中的 WebSockets 简介

继承
注解
  • @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 布尔值
检查此类型是否在当前平台上受支持。
没有 setter

常量

CLOSED → const 整数
closeEvent → const 事件流提供者<CloseEvent>
静态工厂,用于将 close 事件暴露给不是 WebSocket 实例的事件处理程序。
CLOSING → const 整数
CONNECTING → const 整数
errorEvent → const 事件流提供者<Event>
静态工厂,用于将 error 事件暴露给不是 WebSocket 实例的事件处理程序。
messageEvent → const 事件流提供者<MessageEvent>
静态工厂,用于将 message 事件暴露给不是 WebSocket 实例的事件处理程序。
OPEN → const 整数
openEvent → const 事件流提供者<Event>
静态工厂,用于将 open 事件暴露给不是 WebSocket 实例的事件处理程序。