0

WebSocket を使用して IRC クライアントを作成しようとしています。GitHub で見つけた IRC クライアントは EventMachine を使用していますが、接続されているクライアントに通知するために WebSockets も使用しようとしています。puts 'Connected...'ただし、クライアントが IRC チャネルに正常に接続して参加しても、それ以降の行が実行されないため、EventMachine を十分に理解しているとは思いません。

これは、私に代わって EventMachine を根本的に誤解しているためだと思います。

EM.run {

  EventMachine::WebSocket.start(:host => '0.0.0.0', :port => 8080) do |websocket|

    websocket.onopen {

      irc = Net::YAIL.new(
          :address    => 'irc.my-example-server.net',
          :port       => 6667,
          :username   => 'MyExample',
          :realname   => 'My Example Bot',
          :nicknames  => ['MyExample1', 'MyExample2', 'MyExample3']
      )

      irc.on_welcome proc { |event|
        irc.join('#ExampleChannel')
        EM.next_tick {
          puts 'Connected...'
          websocket.send({ :message => 'Connected' })
        }
      }

      irc.start_listening!
    }

  end

}

4

1 に答える 1

0

一晩の調査の後、私は自分の質問に答えたと思います。基本的に、EventMachine に対する私の誤解とは何の関係もありません。私が使おうとしていた IRC クライアントは単純に無限ループだったので、それを中断するものは何もありませんでした。EventMachine と互換性のある IRC クライアントをさらに数時間調査した後、Ponder ( https://github.com/tbuehlmann/ponder ) に出会いました。これでアプリケーションの作成を続行できることを願っています!

恥知らずなプラグイン: https://github.com/Wildhoney/Banter.js

于 2013-08-18T01:29:57.843 に答える