Я использую Faye и EventMachine для открытия сокета на другом сервере. Сервер отключается, если он не обнаруживает активность. Как отправить файл (двоичный код), чтобы сервер не тайм-аут?Отправка большого файла в websocket до таймаута
Вот что у меня есть:
media_path = "/path/to/media/file"
EM.run {
ws = Faye::WebSocket::Client.new(uri)
ws.on :open do |event|
puts "Opening socket"
ws.send(File.read(media_path))
end
ws.on :message do |event|
puts "Recieving message"
end
ws.on :close do |event|
ws = nil
EM.stop
end
}
получает может получить непоследовательные размеры данных. Рассмотрите возможность использования 'f.read 65_536' - 64 КБ (2 ** 16) - это достойный размер пакета, но вы, вероятно, должны измениться в соответствии с вашими обстоятельствами. – Myst
P.S. Вы отправляете только первую строку. Рассмотрим добавление 'до f.eof?' – Myst