G
Guest
Hi,
I'm writing a little tcp-client which connects to a tcp-server, sends a command and recieves an answer. If I do something like that:
#!/usr/bin/env ruby
$VERBOSE=true
require 'socket'
....
begin
socket = TCPSocket.new($ip,$port)
rescue
puts "error: #{$!}"
exit 1
end
socket.print command
answer=socket.gets
socket.close
It works if the server sends just one line. But I don't know how many lines the server answers. So I tried something like that:
answers=[]
while answer=socket.gets
answers<<answer
end
But this results in the while-loop never ending. Even if just one line is the answer the while loop does simply never end
Any idea how to do this?
I'm writing a little tcp-client which connects to a tcp-server, sends a command and recieves an answer. If I do something like that:
#!/usr/bin/env ruby
$VERBOSE=true
require 'socket'
....
begin
socket = TCPSocket.new($ip,$port)
rescue
puts "error: #{$!}"
exit 1
end
socket.print command
answer=socket.gets
socket.close
It works if the server sends just one line. But I don't know how many lines the server answers. So I tried something like that:
answers=[]
while answer=socket.gets
answers<<answer
end
But this results in the while-loop never ending. Even if just one line is the answer the while loop does simply never end