J'ai un client et un serveur. Je démarre le serveur et exécute le client, et la première fois cela fonctionne très bien. La deuxième fois que je lance le client (sans redémarrer le serveur), le client semble se bloquer. Quelqu'un peut-il voir ce qui ne va pas?Ruby TCPSocket continue à perdre la connexion
J'ai un client:
# Code example originated from p069dtclient.rb at http://rubylearning.com/satishtalim/ruby_socket_programming.html
require 'socket'
x = 0;
streamSock = TCPSocket.new('localhost', 20000)
while x < 10
streamSock.send("Hello #{x}",0)
str = streamSock.recv(100)
puts "#{x} " + str
x=x+1
end
streamSock.close
Et serveur:
# p068dtserver.rb
require "socket"
dts = TCPServer.new('localhost', 20000)
s = dts.accept
print(s, " is accepted\n")
loopCount = 0;
loop do
Thread.start(s) do
loopCount = loopCount + 1
lineRcvd = s.recv(1024)
if (!lineRcvd.empty?)
puts("#{loopCount} Received: #{lineRcvd}")
s.write(Time.now)
end
end
end
s.close
print(s, " is gone\n")