みかログさんでErlangでCometが書かれていますが、同様に Erlang で Comet です。こちらの方が随分長いソースになっていますが。 クライアント(ブラウザ、セッション)毎に受信プロセスを常駐させます。 送信されたメッセージは全ての受信プロセスに送信され、受信プロセスはクライアントが受信待ちの場合、クライアントへメッセージを返します。 受信プロセスにはタイムアウト管理プロセスがリンクしてあり、一定時間クライアントへの送信を行わない場合、受信プロセスは exit します。 クライアント1つにつき、受信プロセスとタイムアウト管理プロセス(あとおそらく、Yaws のリクエスト処理プロセス)が常駐します。プロセス大盤振る舞いです。 ファイルの構成は次のようになっています。 chat.erl プログラム本体。Yaws の起動も行ないます。 www/index.yaws チャットのページ
![Erlang で Comet](https://cdn-ak-scissors.b.st-hatena.com/image/square/edd13d65581259e4faaf1835b50c962d716c2ace/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEilVgkUzGYPBD1-a72MhOkQHgJY7khG3BIvZojv1yqgoU1-4FTotOyvJU3wUbHwWpFxoEbEVnTGCbegdww8A0GhahJQR7v0_YEfPeyZwv_6QF7qkwJf3wR2V7Bgzl2iv78IwdIeSNMtvgFU%2Fw1200-h630-p-k-no-nu%2Fchat.png)