require "msgpack" require "socket" include MessagePack::Serializable set_string = {"action" => "set", "key" => "astring", "value" => "bar"} set_int = {"action" => "set", "key" => "anint", "value" => 21} set_float = {"action" => "set", "key" => "afloat", "value" => 3.1428} get_string = {"action" => "get", "key" => "astring"} get_int = {"action" => "get", "key" => "anint"} get_float = {"action" => "get", "key" => "anint"} del_string = {"action" => "del", "key" => "astring"} client = TCPSocket.new("localhost", 5000) packer = MessagePack::Packer.new(client) packer.write(get_string) response = MessagePack::IOUnpacker.new(client.gets.to_s) data = Hash(String, MessagePack::Type).new(response) #data = Hash(String, MessagePack::Type).from_msgpack(response) data["msg"] client.close ## #response = client.gets() #client.close #puts response