2011年8月5日金曜日

森見登美彦氏の四畳半神話体系を読んで

最近よく本を読みます
主に小説ですが、私が好きな小説家は森見登美彦氏なので彼の作品でまだ読んでいないものを中心に読んでいます
そこで四畳半神話体系を読んだのでその感想を記します
この作品はアニメ化もされスピンオフというか関連本が何冊か発行されているのでおもしろいのだろうと思って手をつけました

読み終えた感想ですが、面白いが絶賛するほどではないというのが本音です
ただ私が好きな屁理屈な言い回しなどがふんだんに使われていたので十分楽しみました



この本を読んでみて感じたことは、森見氏のペンギンハイウェイは本当に森見氏っぽくない作品だなとしみじみ思いました
もちろんほかの作品を読んでいないので先入観と違うと感じているだけかもしれません
(むしろ最初に読んだ夜は短し歩けよ乙女のほうが特殊なのかな?)
しかしまだまだ読んでいない森見作品があるのでどんどん読んでいこうと考えています

2011年8月3日水曜日

JavaとActionScriptでのソケット通信について

JavaとActionScript間のソケット通信はJava側にDataOutputStream,DataInputStreamクラスのwriteUTF,readUTFメソッドを使い
ActionScript側ではSocketクラスのwriteUTF,readUTFメソッドを使うことで相互に文字列をやりとりすることができます.

このときActionScriptではイベントリスナーにソケットからデータを受け取る動作を登録する必要があります、しかしJava側のwriteUTFがActionScriptよりも高速に実行されてしまうとイベントリスナーで不具合が発生するようで、Java側で送信した回数よりもActionScriptで受信する回数が少なくなってしまうようです.

強制的にJavaの送信間隔を長くするか、一定以上の文字列がたまってから送信するようにしたがイマイチ動作が安定しないためしっかりとした原因を探ろうと考えてます

追記:2011/08/05
送信する際にJava側でThread.sleep(200)で送信の間に間隔を持たせることでただしいタイミングで通信することができました.
このあたりの値はプログラムによって違うと思いますが私の環境ではこれがベストタイミングのようです.

追記:2011/09/01
受信可能フラグを利用した方が安定するみたいです
送信の際にJava(Server)でいったん送信を行ったらフラグをfalseに設定します
次に送信を行うためにはASから受信可能Message(任意の文字列"can,receive"など)を受け取ってフラグをtrueに設定する必要があるという設計にしました

ActionScriptのXMLについて

ActionScriptでXMLを扱うときの操作方法などについて簡単に覚え書きします

・生成方法
XMLの生成
var sample_xml:XML = new XML();

子要素の追加方法
sample_xml.appendChild('<sample_child />');

属性の追加方法(id属性に"sample"を設定)

sample_xml.@id = "sample";

・操作方法(値の取得)
要素の値(タグで囲まれた値)を取得

sample_xml.sample_child;

属性sampleの値を取得
sample_xml.@id;

子要素sample_childのid属性を取得
sample_xml["sample_child"].@id;


2番目の子要素のid属性を取得
sample_xml[1].@id;

2番目にでてくる子要素sample_childのid属性を取得
sample_xml["sample_child"][1].@id;


こんな感じです、ちょいなちょいな追記する予定
Web Analytics