클라이언트와 서버가 있습니다. 서버를 시작하고 클라이언트를 실행하면 처음에는 제대로 작동합니다. 서버를 다시 시작하지 않고 클라이언트를 두 번째로 실행하면 클라이언트가 멈춘 것처럼 보입니다. 누구든지 잘못된 것을 볼 수 있습니까?Ruby TCPSocket 연결이 끊어지지 않습니다.
# 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
그리고 서버 :
# 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")