단일 콜백을 처리하고 Ruby에서 무료 TCP 포트를 찾는 데 도움이 필요한 use-once HTTP 서버를 만들려고합니다. Ruby를 사용하여 무료 TCP 서버 포트를 어떻게 찾을 수 있습니까?
이
무엇 내가 뭘의 골격이다 이require 'socket'
t = STDIN.read
port = 8081
while s = TCPServer.new('127.0.0.1', port).accept
puts s.gets
s.print "HTTP/1.1 200/OK\rContent-type: text/plain\r\n\r\n" + t
s.close
exit
end
(그것은 첫 번째 연결에 표준 입력을 반향하고 죽는다.)
내가 자동으로 청취 가능한 포트를 찾을 수있는 방법 에?
이것은 고유 한 작업 ID로 다시 호출하는 원격 서버에서 작업을 시작하는 유일한 방법 인 것 같습니다. 이 작업 ID는 상태 정보에 대해 질의 될 수 있습니다. 왜 원래 설계자는 결코 알지 못할 일을 계획 할 때 작업 ID를 반환 할 수 없었습니다. 다중 콜백과의 충돌이 발생할 수 있으므로 단일 포트를 사용할 수 없습니다. 이 방법으로 포트는 +5 초 동안 만 사용됩니다.
(마지막) 질문의 마지막 단락을 참조하십시오. –
이것은 허용 된 대답이 아니어야합니다. 아래 http://stackoverflow.com/a/201528/3528을 참조하십시오. –