2012-07-15 15 views
13

Was sind meine Optionen zum Konvertieren einer socketio nodejs Anwendung in Dart? Gibt es Unterstützung für Nodejs-Server, die irgendwie mit Dart arbeiten (idealerweise mit all den ausgefallenen Debugging-Möglichkeiten des Dart-Editors)? Hat socketio eine Dart-basierte Bibliothek?Dart Nodejs und Socketio

+0

den Hafen von SocketIO zu Dart Versuchen: https://github.com/ petrh/duct –

+0

Die richtige URL zum Dart-Port von SocketIO ist in dieser Antwort http://stackoverflow.com/a/15647977/301740 –

Antwort

16

Dart hat eine serverseitige VM, genau wie V8 eine serverseitige VM in Form von node.js hat.

Werfen Sie einen Blick auf Adam Smith webserver chat sample, die Websockets auf der Serverseite verwendet, um mit Websockets auf der Clientseite zu kommunizieren, wobei beide Teile in Dart geschrieben werden.

Die Schlüsselkomponenten für die Server-Seite wie folgt aussehen:

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); 
} 

Dann auf dem Client, so etwas wie

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

Genau das, was ich gesucht habe. Also gibt es keine vorgestellte Socket-Bibliothek für Dart mit Fallback-Fähigkeiten? Wer ist an einem Projekt interessiert? – Dested

+0

Ich denke, mit einem Websocket-Projekt in Dart, würden Sie nicht versäumen, einige interessierte Entwickler zu finden. – Gero