開発環境
- 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 コメント:
コメントを投稿