【问题标题】:dart, turning a http request into a websocket?飞镖,将http请求变成websocket?
【发布时间】:2014-02-13 20:59:43
【问题描述】:

我正在从 dart 编辑器的欢迎页面中选择 dartiverse_search 示例。我看到它使用路径路由来决定是否将请求转换为websocket:

// The client will connect using a WebSocket. Upgrade requests to '/ws' and
// forward them to 'handleWebSocket'.
router.serve('/ws')
  .transform(new WebSocketTransformer())
  .listen(handleWebSocket);

是否可以在不使用路由路径的情况下将请求转换为 websocket,例如使用根 url 的查询字符串?

【问题讨论】:

    标签: websocket dart dart-io


    【解决方案1】:

    您可以指定升级到 WebSocket 连接的任何条件。您甚至可以将任何连接请求升级为 WebSocket 连接,而无需指定如下条件:

    WebSocketTransformer.upgrade(request).then((WebSocket websocket) {
        websocket.listen((String text) { 
             // process sent data
        });
        websocket.add(JSON.encode("Hello"));
    });
    

    如果请求不是有效的 Web 套接字升级请求,将返回状态代码为 500 的 HTTP 响应。否则,当升级过程完成时,返回的 future 将与 [WebSocket] 一起完成。

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 2016-12-28
      • 2022-11-10
      相关资源
      最近更新 更多