Этот код отправляет xml-файл на сервер и ожидает получения результирующего xml-файла.
Я пытаюсь сделать это на машине с Windows через bash. Здесь установлена среда полного рельса.
require 'socket'
host = '13.74.255.195'
port = 10321
socket = TCPSocket.open(host, port)
file = File.binread "/mnt/c/Windows/System32/workspace/preference/public/xml_files/20.xml"
file.unpack('C*')
socket.write file.bytes.to_a
socket.write("\n")
socket.write("ENDOFMESSAGE")
socket.write("ENDOFMESSAGE")
socket.flush
socket.read
socket.close
или (другой способ чтения данных)
while message = socket.gets
puts message.chomp
end
socket.close
или (другой способ чтения данных)
def next_line_readable?(socket)
readfds, writefds, exceptfds = select([socket], nil, nil, 0.1)
p :r => readfds, :w => writefds, :e => exceptfds
readfds
end
while next_line_readable?(socket)
puts socket.gets.chop
end
socket.close
Застрял результирующий XML-файл не приходит с сервера изэтот рубиновый код.