Scala + akka の簡単なチャットサーバーを改良してみた

スナップショット => https://github.com/Shinpeim/ScalaChatServerSample/tree/d18399985dcca22f4f593593ad02230c4a9f402f

  • サーバーソケットに責任を持つアクターと、クライアントソケットに責任を持つアクターを別々にしてみた
    • ひとつの接続に対してひとつのクライアントアクターが存在する
    • これにより、クライアントの状態管理を行いやすくなった
    • クライアントのソケットをこのアクターに管理させるためにFutureを使っているが、もっとシンプルに実装できないものだろうか……
  • 部屋という概念を導入してみた
    • 部屋を管理してくれる「RoomService」というアクターを追加してみた
    • この部屋管理アクターとクライアントアクターがメッセージをやり取りすることで資源管理やメッセージングを行う

という感じになっている。 識者各位に添削して欲しすぎて死ぬ。