Каковы мои возможности для преобразования приложения socketio nodejs в dart? Есть ли поддержка для серверов nodejs, использующих дротик, каким-то образом (в идеале со всеми фантастическими возможностями отладки редактора dart)? Имеет ли socketio библиотеку на основе дротика?
Dart Nodejs и Socketio
Ответ 1
Dart имеет VM на стороне сервера, так же как V8 имеет VM на стороне сервера в виде node.js.
Взгляните на Adam Smith образец чата веб-сервера, который использует веб-порты на стороне сервера для связи с веб-сайтами на стороне клиента, с обе части записаны в Дарт.
Основные части серверной части выглядят следующим образом:
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);
});
}