2014年4月5日土曜日

開発環境

Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の15章(ネットワークとスレッド)、自分で考えてみよう(p.482)をDartで考えてみる。

その他参考書籍

自分で考えてみよう(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 コメント:

コメントを投稿