此代码将xml文件发送到服务器,并等待获取结果xml文件。
我正在通过bash在Windows计算机上尝试此操作。在此设置了完整的rails环境。
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文件不是来自该ruby代码的服务器。