使用Dart WebSocket服务器支持WebSocket关闭原因

谦虚的

我正在使用Dart的WebSocket类(dart:io和dart:html版本)连接到Dart WebSocket服务器。当我让客户使用自定义关闭代码和原因关闭Web套接字连接时,自定义代码设置正确,但自定义关闭原因未设置。

这是一个简化的测试用例:

server.dart

library server;

import 'dart:io';

main() async {
  HttpServer server = await HttpServer.bind('localhost', 8081);
  server
      .transform(new WebSocketTransformer())
      .listen((WebSocket webSocket) {
    print('WebSocket opened.');
    webSocket.listen((_) {}, onDone: () {
      print('WebSocket closed.');
    });
  });
  print('Listening..');
}

测试飞镖

library test;

import 'dart:io';

main() async {
  WebSocket webSocket1 = await WebSocket.connect('ws://localhost:8081');
  webSocket1.listen((_) {}, onDone: () {
    print('Local Dart ws connection: closed with\n\t' +
          'code: ${webSocket1.closeCode}\n\t' +
          'reason: ${webSocket1.closeReason}');
  });
  webSocket1.close(4001, 'Custom close reason.');

  WebSocket webSocket2 = await WebSocket.connect('ws://echo.websocket.org');
  webSocket2.listen((_) {}, onDone: () {
    print('echo.websocket.org connection: closed with\n\t' +
          'code: ${webSocket2.closeCode}\n\t' +
          'reason: ${webSocket2.closeReason}');
  });
  webSocket2.close(4001, 'Custom close reason.');
}

标准输出

Local Dart ws connection: closed with
    code: 4001
    reason:
echo.websocket.org connection: closed with
    code: 4001
    reason: Custom close reason.

第一个Web套接字(连接到本地Dart服务器的Web套接字)连接并关闭,但是缺少关闭原因(空白字符串)。第二个Web套接字(一个连接到echo.websocket.org的套接字)连接并关闭,并且关闭代码和原因均已正确设置。

客户端连接的方式不会有问题,因为这两种情况都是相同的。那么我设置Dart WebSocket的方式是否有问题?还是WebSocketTransformer / WebSocket类中的错误?

谦虚的

dart-lang / sdk新增了此功能:https : //github.com/dart-lang/sdk/issues/23964

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Dart,如何在服务器端监听Websocket关闭?

来自分类Dev

对.NET使用websocket-sharp,服务器如何关闭WebSocketBehavior?

来自分类Dev

使用Firefox(而非Chrome)连接后,Jetty 9.2.x Websocket服务器连接会自动关闭

来自分类Dev

使用PHP连接到棘轮Websocket服务器

来自分类Dev

iOS WebSocket无法使用SocketRocket连接到服务器

来自分类Dev

使用TCP类与WebSocket服务器进行通信

来自分类Dev

能否实现一个Dart命令行WebSocket客户端,该客户端支持与服务器的双向交换?

来自分类Dev

能否实现一个Dart命令行WebSocket客户端,该客户端支持与服务器的双向交换?

来自分类Dev

Dart / Flutter WebSocket服务器/客户端在同一侧无法正常工作

来自分类Dev

Tornado 可以使用其默认的 http 服务器支持 50 -100 个 websocket 客户端而不涉及 ngnix

来自分类Dev

是否可以在TCP模式下使用Amazon ELB在多个基于Tomcat的Websocket服务器之间分布Websocket连接?

来自分类Dev

浏览器未使用Websocket连接到服务器

来自分类Dev

浏览器未使用Websocket连接到服务器

来自分类Dev

React Native-无法启动,因为其他WebSocket服务器已经在使用HTTP服务器

来自分类Dev

是否使用WebSocket或服务器发送事件从服务器发送通知以实时检索社交网络状态?

来自分类Dev

如何使用WebSocket将消息发送到Socket.io服务器

来自分类Dev

使用一个端口号创建多个WebSocket服务器

来自分类Dev

如何在AWS Elastic Beanstalk服务器上使用Nginx启用WebSocket?

来自分类Dev

如何使用Spring 4捕获WebSocket服务器中的连接事件?

来自分类Dev

将数据从服务器发送到不带集合的客户端(使用Websocket)

来自分类Dev

页面刷新后显示页面内部服务器错误(使用websocket-rails)

来自分类Dev

在没有Web服务器的情况下使用Java Websocket API实现

来自分类Dev

使用Express&'websocket'软件包的WebRTC信令服务器

来自分类Dev

Haskell Websocket服务器不能使用多个客户端

来自分类Dev

使用一个端口号创建多个WebSocket服务器

来自分类Dev

如何使用C ++中的Websocket客户端将消息发送到服务器?

来自分类Dev

在Apache和WebSocket服务器之间使用PHP会话

来自分类Dev

使用WebSocket将TCP数据包按顺序流向服务器

来自分类Dev

是否可以使用SSL运行独立的Tyrus Websocket服务器?

Related 相关文章

  1. 1

    Dart,如何在服务器端监听Websocket关闭?

  2. 2

    对.NET使用websocket-sharp,服务器如何关闭WebSocketBehavior?

  3. 3

    使用Firefox(而非Chrome)连接后,Jetty 9.2.x Websocket服务器连接会自动关闭

  4. 4

    使用PHP连接到棘轮Websocket服务器

  5. 5

    iOS WebSocket无法使用SocketRocket连接到服务器

  6. 6

    使用TCP类与WebSocket服务器进行通信

  7. 7

    能否实现一个Dart命令行WebSocket客户端,该客户端支持与服务器的双向交换?

  8. 8

    能否实现一个Dart命令行WebSocket客户端,该客户端支持与服务器的双向交换?

  9. 9

    Dart / Flutter WebSocket服务器/客户端在同一侧无法正常工作

  10. 10

    Tornado 可以使用其默认的 http 服务器支持 50 -100 个 websocket 客户端而不涉及 ngnix

  11. 11

    是否可以在TCP模式下使用Amazon ELB在多个基于Tomcat的Websocket服务器之间分布Websocket连接?

  12. 12

    浏览器未使用Websocket连接到服务器

  13. 13

    浏览器未使用Websocket连接到服务器

  14. 14

    React Native-无法启动,因为其他WebSocket服务器已经在使用HTTP服务器

  15. 15

    是否使用WebSocket或服务器发送事件从服务器发送通知以实时检索社交网络状态?

  16. 16

    如何使用WebSocket将消息发送到Socket.io服务器

  17. 17

    使用一个端口号创建多个WebSocket服务器

  18. 18

    如何在AWS Elastic Beanstalk服务器上使用Nginx启用WebSocket?

  19. 19

    如何使用Spring 4捕获WebSocket服务器中的连接事件?

  20. 20

    将数据从服务器发送到不带集合的客户端(使用Websocket)

  21. 21

    页面刷新后显示页面内部服务器错误(使用websocket-rails)

  22. 22

    在没有Web服务器的情况下使用Java Websocket API实现

  23. 23

    使用Express&'websocket'软件包的WebRTC信令服务器

  24. 24

    Haskell Websocket服务器不能使用多个客户端

  25. 25

    使用一个端口号创建多个WebSocket服务器

  26. 26

    如何使用C ++中的Websocket客户端将消息发送到服务器?

  27. 27

    在Apache和WebSocket服务器之间使用PHP会话

  28. 28

    使用WebSocket将TCP数据包按顺序流向服务器

  29. 29

    是否可以使用SSL运行独立的Tyrus Websocket服务器?

热门标签

归档