将socketio nodejs应用程序转换为dart的选项有哪些?是否支持以某种方式使用dart的nodejs服务器(理想情况下使用dart编辑器的所有高级调试功能)?socketio有基于dart 的库吗?

推荐答案

Dart有一个服务器端VM,就像V8有一个 node 形式的服务器端VM一样.js.

看看Adam Smith的webserver chat sample,它在服务器端使用WebSockets与客户端的WebSocket通信,这两个部分都是用DART编写的.

服务器端的关键部件如下所示:

import "dart:io";

main() {
  HttpServer server = new HttpServer();

  WebSocketHandler wsHandler = new WebSocketHandler();
  server.addRequestHandler((req) => req.path == "/ws", wsHandler.onRequest);

  wsHandler.onOpen = (WebSocketConnection conn) {
     conn.onMessage = (message) {
       print(message);
       conn.send("hello, this is the server");
     };
  };

  server.listen("127.0.0.1",8080);
}

然后在客户机上

import "dart:html"; 
main() {
  var ws = new WebSocket("ws://127.0.0.1:8080/ws");
  ws.on.open.add( (a) {
    ws.send("hello, this is the client");
  });
  ws.on.message.add( (messsage) {
    print(message);
  });
}

Dart相关问答推荐

如何映射作为DART中其他模型基础的复杂模型

如何从 Dart 中的映射中过滤空值

在 Column Flutter 中居中展开 ListView

Flutter:Firebase 基本查询或基本搜索代码

Flutter 中带有导航栏的永久视图

Dart JavaScript 与 jQuery 的互操作回调

如何在 Dart 中创建一个空 Set

如何在动态链接中传递参数?

如何根据 Select 的选项卡更改样式?

在 Dart 中向服务器发出多个独立请求的最佳方式

Flutter ToggleButton 类 - Flutter 1.9.1

如何平移和zoom 图像?

如何构建具有多个视图的复杂 Web UI 应用程序?

在我的 angular-cli 元素中从 node-sass 切换到 dart sass

Dart:Iterable 与 List,总是使用 Iterable?

如何使用 Dart 列出目录的内容?

_internal 的语义是什么?

是否可以在 Dart 中的一行上初始化列表?

如何在 Dart 中引用另一个文件?

如何在 Dart 中合并两个列表?