使用websocket协议从站点连接。红宝石

时间:2018-01-21 22:30:50

标签: arrays ruby websocket bitcoin

有一个程序连接到服务器并从中接收一些数据+计算服务器时间并每15或60秒发出一次信号。

require 'faye/websocket'
require 'eventmachine'

data = []
count = 0

EM.run {
ws = Faye::WebSocket::Client.new('wss://olymptrade.com/ws2')


ws.on :open do |event|
p [:open]
ws.send('{"uuid":"JCBQ7XBRMYSL0JB4N5","pair":"Bitcoin","size":60}')
end

ws.on :message do |event|
p [:message, event.data]
    data << event.data
    data_servertime = data[0].gsub(/[^\d]/, '').to_i
    data.delete_at(0)

    if ((data_servertime % 15) == 0)
        puts "Прошло 15 секунд"
    elsif ((data_servertime % 60) == 0)
        puts "Прошло 60 секунд"
    end
end

ws.on :close do |event|
p [:close, event.code, event.reason]

ws = nil
end

}

启动时,它会不断将收到的数据输出到控制台:

[:message, "{\"pair\":\"Bitcoin\",\"time\":1516567298,\"open\":11146.938,\"low\":11146.938,\"high\":11146.938,\"close\":11146.938}"]

[:message, "{\"servertime\":1516567298}"]

我的问题:

  1. 如何将其余数据放入数组(servertime除外),即:pair,time,open,low,high,close

  2. 如何制作,只显示屏幕上显示的信息,我有意使用puts命令输出?

0 个答案:

没有答案