最新のDart Editor をダウンロードしたら、timeserverのサンプルがついてきていました。さすがにntpdというわけではなく、HTTPサーバで実装されています。
ちょっと改造をして、hello server を作成してみました。main関数に全部いれてあります。dart editor をダウンロードして展開するとdartディレクトリができあがり、そこにsampleディレクトリが含まれているので、そこへ helloというディレクトリを作り、hello_server.dart というファイルを下記の内容で作成します。
#library("hello_server");
#import("dart:io");
final HOST = "127.0.0.1";
final PORT = 8080;
final LOG_REQUESTS = true;
void main() {
HttpServer server = new HttpServer();
server.onRequest = (HttpRequest req, HttpResponse res) {
if (LOG_REQUESTS) {
print("Request: ${req.method} ${req.uri}");
}
String s = '''
<html>
<body>
<p>Hello at ${new Date.now()}</p>
</body>
</html>
''';
res.setHeader("Content-Type", "text/html; charset=UTF-8");
res.outputStream.writeString(s);
res.outputStream.close();
};
server.listen(HOST, PORT);
print("Hello on http://${HOST}:${PORT}.");
}
後は、DartEditorを起動して、[File]-[Open Folder]でhello_serverを開いて、実行するだけです。サーバが起動するので、http://127.0.0.1:8080/ へブラウザでアクセスすると、helloという文字と、アクセスした時刻が表示されます。簡単ですね!