这是我目前的代码:
#!/usr/bin/ruby
require 'em-websocket'
$cs = []
EM.run do
EM::WebSocket.run(:host => "::", :port => 8085) do |ws|
ws.onopen do |handshake|
$cs << ws
end
ws.onclose do
$cs.delete ws
end
end
end
我想查看rb-inotify
的文件,并在文件更改时向所有连接的客户端($cs.each {|c| c.send "File changed"}
)发送消息。问题是,我不了解EventMachine,我似乎找不到一个好的教程。
因此,如果有人可以向我解释在哪里放置rb-inotify
相关代码,我会非常感激。
答案 0 :(得分:0)
当然!我发布问题后,我就明白了!
#!/usr/bin/ruby
require 'em-websocket'
$cs = []
module Handler
def file_modified
$cs.each {|c| c.send "File was modified!" }
end
end
EM.run do
EM.watch_file("/tmp/foo", Handler)
EM::WebSocket.run(:host => "::", :port => 8085) do |ws|
ws.onopen do |handshake|
$cs << ws
end
ws.onclose do
$cs.delete ws
end
end
end