服務(wù)器如何證明自己還活著?

責(zé)任編輯:editor005

2014-11-28 14:02:59

摘自:中關(guān)村在線

其實,服務(wù)器也有自己的“心跳”,心跳包是客戶端和服務(wù)器間定時通知對方自己狀態(tài)的一個自己定義的命令字,按照一定的時間間隔發(fā)送,類似于心跳,所以叫做心跳包。

人類可以以心跳來證明自己的生命依然在運(yùn)轉(zhuǎn),服務(wù)器可以嗎?那么服務(wù)器如何來證明自己還“活著”呢?

其實,服務(wù)器也有自己的“心跳”,心跳包是客戶端和服務(wù)器間定時通知對方自己狀態(tài)的一個自己定義的命令字,按照一定的時間間隔發(fā)送,類似于心跳,所以叫做心跳包。

網(wǎng)絡(luò)中的接收和發(fā)送數(shù)據(jù)都是使用SOCKET進(jìn)行實現(xiàn)。但是如果此套接字已經(jīng)斷開,那發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的時候就一定會有問題。所謂的心跳包就是客戶端定時發(fā)送簡單的信息給服務(wù)器端告訴它我還在而已。代碼就是每隔幾分鐘發(fā)送一個固定信息給服務(wù)端,服務(wù)端收到后回復(fù)一個固定信息如果服務(wù)端幾分鐘內(nèi)沒有收到客戶端信息則視客戶端斷開。

在獲知了斷線之后,服務(wù)器邏輯可能需要做一些事情,比如斷線后的數(shù)據(jù)清理和重新連接等等,心跳包主要也就是用于長連接的保活和斷線處理,有了它我們就可以判斷服務(wù)器到底是在線還是離線了。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號