WebSocketTransformer抽象

WebSocketTransformer提供了将HttpRequest升级为WebSocket连接的能力。它支持将单个HttpRequest升级以及将HttpRequest流升级。

要升级单个HttpRequest,请使用静态upgrade方法。

HttpServer server;
server.listen((request) {
  if (...) {
    WebSocketTransformer.upgrade(request).then((websocket) {
      ...
    });
  } else {
    // Do normal HTTP request processing.
  }
});

WebSocketTransformer实现了一个流转换器,它将HttpRequest流转换为WebSocket流,通过将每个HttpRequest从HTTP或HTTPS服务器升级到WebSocket协议来实现。

server.transform(new WebSocketTransformer()).listen((webSocket) => ...);

此转换器旨在按照RFC6455规范实现WebSocket。

实现类型

构造函数

WebSocketTransformer({dynamic protocolSelector(List<String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault})
创建一个新的WebSocketTransformer
工厂

属性

hashCode int
此对象的哈希码。
无设置器继承
runtimeType Type
对象的运行时类型的表示。
无设置器继承

方法

bind(Stream<HttpRequest> stream) Stream<WebSocket>
转换提供的stream
继承
cast<RS, RT>() StreamTransformer<RS, RT>
提供此流转换器的StreamTransformer<RS, RT>视图。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
toString() String
此对象的字符串表示。
继承

运算符

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

静态方法

isUpgradeRequest(HttpRequest request) bool
检查请求是否为有效的WebSocket升级请求。
upgrade(HttpRequest request, {dynamic protocolSelector(List<String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault}) Future<WebSocket>
HttpRequest 升级为 WebSocket 连接。如果请求不是有效的WebSocket升级请求,将返回状态码为500的HTTP响应。否则,返回的未来将在升级过程完成后完成。