我已经能够运行dart-by-example http-server Hello Web服务器。 websocket使用端口9223,http服务器使用8080。
在我进行构建之后,我在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)
答案 0 :(得分: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);
});
});
}