Current section
Files
Jump to
Current section
Files
priv/test_server.rb
#!/usr/bin/env ruby
#require File.dirname(__FILE__) + '/test_helper.rb'
# require 'test/unit'
# $LOAD_PATH.unshift File.dirname(__FILE__)+'/../ruby/lib'
# $LOAD_PATH.unshift "../ruby"
# $LOAD_PATH.unshift '../ruby/lib/msgpack'
# p $LOAD_PATH
require 'msgpack/rpc'
$port = 65501
port = $port
class MyServer
def initialize(svr)
@svr = svr
end
def hello
# p "hello"
"ok"
end
def sum(a, b)
# p "hello, sum!!!"
a + b
end
def exception
raise "raised"
end
def async
as = MessagePack::RPC::AsyncResult.new
@svr.start_timer(1, false) do
as.result "async"
end
as
end
def async_exception
as = MessagePack::RPC::AsyncResult.new
@svr.start_timer(1, false) do
as.error "async"
end
as
end
private
def hidden
end
end
def start_server port
svr = MessagePack::RPC::Server.new
svr.listen("0.0.0.0", port, MyServer.new(svr))
Thread.start do
svr.run
# svr.close
end
# cli = MessagePack::RPC::Client.new("127.0.0.1", port)
# cli.timeout = 10
return svr #, cli
end
# result = cli.call(:hello)
# assert_equal(result, "ok")
# result = cli.call(:sum, 1, 2)
# assert_equal(result, 3)
svr = start_server port
#print "listening to port #{port}.\n"
#File.open("hoge.txt", "w") do |f|
# f.write("hogehoge - #{port}\n")
#end
gets
#cli.close
svr.stop