2017-02-23 47 views
1

服務器:紅寶石:如何確認TCP連接活着

s = TCPServer.open(6000) 
loop do 
    Thread.start(s.accept) do |client| 
    # Keep receive and handle message from client 
    ... 
    end 
end 

客戶:

server = TCPSocket.open(server_ip, 6000) 
... # Send message if event, will keep TCP connection 

問: 有時網絡故障或客戶機崩潰,如何切斷知道TCP連接還活着嗎?有沒有一種方法或命令驗證連接?

感謝

回答

0

最可靠的方法來驗證一個TCP連接的狀態是一個空的數據包發送到服務器,如果你得到迴應或錯誤檢查。這會給你當前連接狀態的套接字。