私のコードでは、クライアントからコンマで区切られたデータのストリームを受け取りました。各フィールドは異なるデータ型です。受信したら、それらを分割して配列に書き込みます。次のようにコーディングします。
require 'socket'
s = TCPSocket.open('localhost',2000)
time = Time.now.to_i
s.puts(cf,PUB,#{time},001.41011,N,103.76822)
s.close
eventmachineサーバーでは、次のようにコーディングします。
require 'rubygems'
require 'eventmachine'
require './Load2MySQL.rb'
module EchoServer
def post_init
puts "-- someone connected to the echo server!"
end
def receive_data data
loc = Array.new(6)
loc = data.split(',').to_a
wr2db(loc[0], loc[1], loc[2], loc[3], loc[4], loc[5])
end
def unbind
puts "-- someone disconnected from the echo server!"
close_connection
# EventMachine::stop_event_loop
end
end
EventMachine::run {
EventMachine::start_server "0.0.0.0", 2000, EchoServer
}
そうすることで、配列内のすべての要素が文字列に変換されることを発見しました。データ型を保持するにはどうすればよいですか?
よろしく、New2RoR