0
다음 코드를 사용하여 (EventMachine이 지원하는) 네트워크 서비스에 연결하고 하나의 소켓 연결을 사용하여 여러 명령을 실행할 수있는 상황에 약간의 문제가 있습니다.루비의 TCP 소켓에서 한 줄의 데이터 만 읽을 수 있습니까?
#!/usr/bin/env ruby
require 'socket'
opts = {
:address => "0.0.0.0",
:port => 2478
}
connection = TCPSocket.open opts[:address], opts[:port]
# Get ID
connection.print "ID something"
puts connection.read
# Status
connection.print "STATUS"
puts connection.read
# Close the connection
connection.close
는 여기에 지금 그것이 알고 닫 접속의 대기를 추정대로 connection.read
을 실행할 때
module ConnectionHandler
def receive_data data
send_data "Some output #{data}"
end
end
그러나, 내 첫 번째 루비 스크립트가 중단 ... 내 EventMachine 서버 투수의 모습입니다 그 모든 데이터가 있습니까? 이것은 내가 원하는 일이 아닙니다.
소켓 서버는 한 줄에 하나의 명령을 받아 한 줄의 출력 만 반환합니다.
어떻게하면됩니까? 감사.
그래서'puts'가 개행 문자를 추가하기 때문에 그 대답과 upvote를 삭제하고 다른 것을 받아 들여야합니다. 이것은 공정한 것입니다. –