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.
  }
});

要转换 HttpRequest 事件流,因为它实现了一个流转换器,将 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
此对象的字符串表示形式。
继承

操作符

operator ==(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响应。否则,返回的未来将在升级过程完成后完成,并返回WebSocket