작은 응용 프로그램이있어 연결 (예 : 채팅)을 제공합니다. 연결을 포착하고 그로부터 로그인 한 다음 데이터를 수신하여 보낸 사람을 제외한 각 연결에 브로드 캐스트합니다.Ruby TCPSocket 서버 테스트
문제는 제가 매우 발전된 테스터가 아니며 어떻게 테스트 할 수 있는지 모릅니다. 당신은 그냥 단위 테스트를 수행 할 경우
# Handle each connection
def serve(io)
io.puts("LOGIN\n")
# Listen for identifier
user = io.gets.chomp
...
# Add connection to the list
@mutex.synchronize { @chatters[user] = io }
# Get and broadcast input until connection returns nil
loop do
incoming = io.gets
broadcast(incoming, io)
end
end
#Send message out to everyone, but sender
def broadcast(message="", sender)
# Mutex for safety - GServer uses threads
@mutex.synchronize do
@chatters.each do |chatter|
socket = chatter[1]
# Do not send to sender
if sock != sender
sock.print(message)
end
end
end
end
고마워요! 답변에 매우 가깝습니다. – sadfuzzy