2

TCP 接続がいつ失敗したかを検出し、再接続が開始されるかどうかをテストするシステムをイベント マシン上に構築しようとしています。私はすべての eventmachine コードを調べましたが、動作中または再接続中に接続のコールバックがある場所を見つけることができないようです。コードで時間を設定しても、保留中の接続にコールバックがなく、再接続を再起動しようとしても、接続が成功したか失敗したかに関するフィードバックが得られません。効果的にtelnetインターフェースに接続するために使用しています。

EventMachine.run do
c = EventMachine.connect "10.8.1.99",5000,ConnectInterface
c.pending_connect_timeout = 10

終わり

どんな助けでも大歓迎です。

4

2 に答える 2

2
module MyCallBack

def unbind  # define your unbind method
  puts "#{@@ip}: #{@@port}"
  puts "-- disconnected from remote server!"
  puts "-- attempting reconnection"
  reconnect @@ip, @@port # use reconnect, already provided by EventMachine 
end

end
于 2012-02-18T18:40:47.757 に答える
1

EventMachineは、このためのunbindメソッドを提供します。

module ConnectInterface
  def connection_completed
    puts "connected"
  end

  def unbind
    puts "disconnected"
  end
end


EM::run do
  EM::connect("10.8.1.99", 5000, ConnectInterface)
end

切断をトリガーしたかどうかに関係なく、切断時にunbindメソッドが呼び出されることに注意してください。

于 2012-01-19T10:11:25.647 に答える