Chaton > Archives > 2010/09/01

2010/09/01 02:54:33 UTCshiro
#
全部屋を新APIに入れ替えました。
2010/09/01 02:59:07 UTCshiro
#
これまでviewerの's'パラメータに'1'以外の値を渡していたクライアントは変更の必要があります (chaton.clientモジュールを使っている場合は大丈夫)。ChangeLogを見てください。
2010/09/01 03:04:10 UTCPocket
#
ありがとうございます!
#
テスト。
#
一応中途半端にできたので、gitHubにアップロードしておきます。
2010/09/01 03:17:02 UTCPocket
#
中途半端ですが、一応できたので。ですね.
#
http://github.com/pocket7878/ChatonPerader
#
chaton.clientのobserveの仕組みってどのようになっているのでしょうか?見た感じメッセージ一つだけをしょりする関数の様な気がするのですが
2010/09/01 04:17:35 UTCPocket
#
あ、自分で読解しました。
2010/09/01 04:36:01 UTCPocket
#
テスト
2010/09/01 04:51:12 UTCPocket
#
テスト
2010/09/01 05:07:55 UTCPocket
#
あれ?
2010/09/01 05:12:57 UTCPocket
#
Test
#
お、投稿も成功
#
日本語のテスト投稿です
#
日本語のテスト投稿です
#
まず、テスト投稿です。=====> 直ちにObserveを開始します
#
テスト
#
Observeできているか
#
Observeはloginから一つだけとるモードにしてwhileで呼び出している風にしている。
#
まず、テスト投稿です。=====> 直ちにObserveを開始します
#
ちょっとモードを変更してObserveを再帰的にしてみた
#
上手く行くか?
2010/09/01 05:23:08 UTCshiro
#
Perlって末尾呼び出し最適化(TCO)するんでしたっけ。SchemeならObserveの末尾でObserveを再帰呼び出しするのは全く問題無いんですが、TCOしない言語だといずれスタックを食いつぶすような。
#
Observeが呼ばれるのは通常数分に一回なので、問題が出るまで(例えば1000回再帰するまで)に何十時間もかかるでしょうけど。
2010/09/01 05:27:34 UTCPocket
#
なるほど、
#
かといってObserverをwhile(1)で繰り返し呼ぶのもあまり美しくないという。。
#
chaton.clientはloopを末尾再帰的によんでましたっけ?
#
http://blog.livedoor.jp/dankogai/archives/50812040.html 弾さんが何やらPerlでの末尾再帰について書いているので読んでみます。
2010/09/01 05:30:45 UTCshiro
#
chaton.clientのloopは一番最後に(loop)で自分を呼んでます。
#
こういう再帰回数に明確な制限の無いケースでTCOが無いと、「テストでは通るんだけどしばらく使ってるとクラッシュする」みたいな羽目になるので気をつけたほうがいいですよ。
2010/09/01 05:35:47 UTCPocket
#
まず、テスト投稿です。=====> 直ちにObserveを開始します
#
テスト
#
弾さんのページを参考に引き数のリストを置き換えてgotoにしてみました
#
一応は安定しているようです
#
しばらくはこのまま動かし続けてみるしかなさそうです。
#
大丈夫ですかね。もしや一回ごとにObserveが増えてたりしないと良いのですが
#
あ、落ちた...
#
あ、でも単純にカラ文字列が帰ってきたので落ちたようです。 たしかclientの数が変わるとカラ文字列がかえってくるんですよね。
2010/09/01 06:24:29 UTCshiro
#
クライアント数の変化以外にも、接続を確認するために数分に1回はcontentが空でも返ってきます。クライアントがいつの間にか居なくなっちゃった、ってケースはパケットを送ってみないとわからないので。
2010/09/01 10:01:12 UTCPocket
#
なるほど、その場合は単純に無視してもう一度呼び出せばいいのでしょうか?
2010/09/01 16:02:22 UTCshiro
#
はい。
2010/09/01 23:50:51 UTCPocket
#
了解です、それを元に少しいじってみました
#
しばらく使ってみてまた落ちないかチェックします。’
#
k
2010/09/01 23:57:39 UTCPocket
#
if文を入れるところを間違えるという致命的なミス..
#
お、client数が変わった
#
今のところは落ちてません。
#
お、
#
無事動いているか
#
メモリを食いつぶしていないか不安ですがとりあえず落ちる事はなくなりました