Dart、Nodejs和Socketio是什么?

16

我如何将一个使用socketio的nodejs应用程序转换为dart?是否有支持使用dart的nodejs服务器的方法(最好具备dart编辑器的所有高级调试功能)?socketio是否有基于dart的库?


尝试将 SocketIO 移植到 Dart:https://github.com/petrh/duct - Seth Ladd
Dart版本的SocketIO正确的URL在这个答案中:https://dev59.com/TmnWa4cB1Zd3GeqP15Th#15647977。 - Draško Kokić
1个回答

19
达特语言有一个服务器端虚拟机,就像V8通过node.js有一个服务器端虚拟机一样。
请查看Adam Smith的webserver chat sample,它使用服务器端的WebSockets与客户端的WebSockets通信,两个部分均用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);
  });
}

3
正是我一直在寻找的。那么,Dart 中没有具备回退功能的特色套接字库吗?有人对此项目感兴趣吗? - Dested
1
我认为使用Dart编写Websocket项目,你一定会找到一些感兴趣的开发者。 - Gero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接