トップ «前の日記(2007-12-08) 最新 次の日記(2007-12-14)» 編集

2007-12-09 [長年日記]

_ nadoka pong 問題よく分からず

X-Chat で PONG が延々表示されるのは困るので追いかけてみた。

--- server.rb   (リビジョン 188)
+++ server.rb   (作業コピー)
@@ -415,6 +415,7 @@
         when 'PING'
           @server << Cmd.pong(q.params[0])
         when 'PONG'
+          @logger.dlog "[<S] #{p q}"
           @pong_recieved = true
         when 'NOTICE'
           @logger.dlog "[<S] #{q}"

X-Chat 上のメッセージがこれ。

[18:57] 	*	PONG LAG3723386795

該当するログがこれ。

07/12/09-18:57:12 [<S] #<RICE::Command::PONG:0x411d056
prefix:irc.nara.wide.ad.jp command:PONG
params:["irc.nara.wide.ad.jp", "irc.nara.wide.ad.jp"]>

LAG なんとかって値はどこにあんだ? この #{p q} で吐いてる q ってのは

   def recv_from_server
     while q = @rq.pop

の q で、@rq ってのは

   def make_server
     host, port, @server_passwd = next_server_info
     server = ::RICE::Connection.new(host, port)
     server.regist{|rq, wq|
       Thread.stop
       @rq = rq

だよな。pop は Array#pop ってことか?(違いました)

んー。つまり単に PONG メッセージがひとかまりとして取れてないのかな? RICE の問題?

Tags: IRC Ruby