require "al_worker_ipc" class CountServer < AlWorker def initialize2() @ipc = Ipc.new() @ipc.chmod = 0666 @ipc.run( self ) set_value( "counter", 0 ) end # IPCコマンド counter を定義 # (note) # 引数 param には、JavaScript側の callで指定したパラメータがそのまま渡ってくる。 def ipc_counter( sock, param ) counter = get_value( "counter" ) case param["work"] when "up" counter += 1 when "down" counter -= 1 end set_value( "counter", counter ) # 第4引数は、JavaScript側へそのまま返される。 reply( sock, 200, "OK", {"counter"=>counter} ) end end server = CountServer.new( "count_server" ) server.parse_option() server.daemon()