TwistdはコマンドであってやっぱTwistedでいいということに気がつきタイトル変更しました。
2つ前のポストからtwistdのソケットサーバーのコードを紹介したので、今回はクライアント側のFlashはどういうものかというののコードです。Flashのはまとまった奴がなかったので、Flexのです。
ポイントというかハマりどころはデリミタ(どこが1つのメッセージの終わりなのかを示すキャラクタ)です。そこのところだけ取り出すとこうです。
sock.writeMultiByte(string + "\r\n", "UTF-8");
これでいけるはず。というわけで、Flashでソケット通信やるなら、2つ前のポストのところからコピペしてもらえれば、とりあえずのプロトタイプはさくっといけるのではないかと期待しています。
twistdですが、実際に使うシーンではポリシーサーバーはそのままでも良さそうですが、チャットサーバーの方はいろいろプログラムを変更することになります。たとえばAさんとBさんで通信させ中に、CさんとDさんで通信させ、2つは混線しない、みたいなことをやるとか、もっとも基本的にはAさんが送った内容はAさんには帰って来ないで他全員にブロードキャストするとか、そういうのプログラムしていくことになります。
twistdの安定性についてですが、ちゃんと試験したことはないです。以前バッチで沢山コネクションを張って見たことがあったのですが、ほとんど記録がありません。クライアントが増えれば単に送信するデータ量が増え反応が遅くはなったと記憶しています。でも落ちたりはしなかったように思います。
些細な記憶から強烈にサバ読みも含めていえば100コネクションくらいなら結構快適で300コネクションあたりで遅せーなとかだったような記憶があります。それから知らない間にサーバーが落ちているということはなく、安定しているという印象を持っています。
twistd。コードも簡単だしすばらしいです。
コメント