開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の15章(ネットワークとスレッド)、自分で考えてみよう(p.482)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
自分で考えてみよう(p.482)
コード
sample.dart
import 'dart:html';
import 'dart:convert' as convert;
// まだサーバ側は未完成
void main() {
run.onClick.listen((MouseEvent event) {
pre.text = '';
try {
sendMessage('Hello, WebSocket World!');
} catch (e) {
pre.text += '$e\n';
}
});
web_socket.onMessage.listen((MessageEvent event) {
pre.text += '${redeiveMessage(event.data)}\n';
});
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
ButtonElement run = querySelector('#run_dart');
ButtonElement clear = querySelector('#clear');
PreElement pre = querySelector('#pre0');
WebSocket web_socket = new WebSocket('ws://127.0.0:5000/ws');
convert.JsonDecoder jd = new convert.JsonDecoder();
void sendMessage(String data) {
if (web_socket.readyState == WebSocket.OPEN) {
web_socket.send(data);
} else {
throw "WebSocket not connected, message '$data' not sent";
}
}
String redeiveMessage(String data) {
Map message = jd.convert(data);
if (message['from'] != null) {
return 'Message from ${message['from']}: ${message['content']}';
}
return null;
}
0 コメント:
コメントを投稿