2014-04-03 90 views
0

我已經能夠運行按飛鏢示例的http-server Hello Web服務器。 websocket使用端口9223和http服務器使用8080.Dart:如何實現並安裝一個簡單的HTTP服務器

我做了一個構建後,我沒有找到build/bin中的服務器端代碼。

接下來我要做什麼安裝,以便我可以運行ws_server.dart並從瀏覽器進行連接?

我的編輯單位:

Server 
    packages 
    bin 
    packages 
    fireimager_server.dart (server side websocket handling code) 
    build 
    bin 
    web 
    lib 
    communication.dart (common code) 
    web 
    index.html 
    main.css 
    main.dart 
    WebsocketClient.dart (client websocket code) 

回答

3

如果按照package layout convention,你server.dart應該在$PROJECT/bin$PROJECT/web您的網頁內容。

通過運行pub build你應該得到一個新的目錄$PROJECT/build/web。現在你可以使用下面的server.dart代碼來公開這個編譯目錄:

library simple_http_server; 

import 'dart:io'; 
import 'package:http_server/http_server.dart' show VirtualDirectory; 

void main() { 
    final MY_HTTP_ROOT_PATH = Platform.script.resolve('../build/web').toFilePath(); 
    final virDir = new VirtualDirectory(MY_HTTP_ROOT_PATH) 
    ..allowDirectoryListing = true; 

    HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8080).then((server) { 
    server.listen((request) { 
     virDir.serveRequest(request); 
    }); 
    }); 
} 
+0

當我從編輯器運行它一切正常。服務器打開HTTP端口和Web套接字端口進行偵聽。客戶端連接並在Web套接字上發送JSON'消息'。服務器端代碼對其進行解碼併發回一條寫在客戶端頁面上的確認消息。 –

+0

上面的代碼示例去哪裏? –