2014-04-03 3 views
0

다트 바이 예제 http 서버 Hello 웹 서버를 실행할 수있었습니다. websocket은 포트 9223을 사용하고 http 서버는 8080을 사용합니다.Dart : 간단한 HTTP 서버 구현 및 설치 방법

빌드를 수행 한 후에 build/bin에서 서버 측 코드를 찾지 못합니다.

ws_server.dart를 실행하고 브라우저에서 연결할 수 있도록하기 위해 다음 단계는 무엇입니까?

내 편집기 조직 : 당신이 package layout convention을 따르는 경우에

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

, 당신은 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 포트와 웹 소켓 포트를 엽니 다. 클라이언트는 JSON '메시지'를 연결 한 다음 웹 소켓에 보냅니다. 서버 측 코드는이를 디코드하고 클라이언트 페이지에 기록 된 확인 메시지를 다시 보냅니다. –

+0

위의 코드 예제는 어디에 있습니까? –

관련 문제