Posted on 2008-12-11 16:03
Prayer 閱讀(1315)
評(píng)論(1) 編輯 收藏 引用 所屬分類:
SOCKET
長(zhǎng)連接短連接只是一個(gè)概念性的問(wèn)題,只要知道其概念,不是一個(gè)特殊的東西:
長(zhǎng)連接:系統(tǒng)通訊連接建立后就一直保持。
短連接:只有系統(tǒng)需要相互發(fā)消息連接才建立(客戶端發(fā)起),請(qǐng)求消息得到響應(yīng)后連接關(guān)閉;
通訊實(shí)體間使用長(zhǎng)連接,一般還需要定義心跳消息,定期發(fā)送來(lái)檢測(cè)系統(tǒng)間鏈路是否異常,每隔一定時(shí)間發(fā)送一次心跳,如果一定次數(shù)沒(méi)有收到心跳消息,這認(rèn)為此連接出現(xiàn)問(wèn)題,需要斷開(kāi)連接重新建立。
具體心跳消息的格式,以及發(fā)送間隔,以及多少次沒(méi)有收到心跳就認(rèn)為鏈路異常,以及數(shù)據(jù)部是否算作心跳消息(有的系統(tǒng)如果接收到數(shù)據(jù)包則會(huì)清除心跳計(jì)時(shí)器也就相當(dāng)于系統(tǒng)中的數(shù)據(jù)包也算作心跳消息);這個(gè)需要兩端進(jìn)行協(xié)商。比如GSM常用的短消息中心和其他網(wǎng)絡(luò)實(shí)體互連的SMPP協(xié)議,要求建立的就是長(zhǎng)連接.
所以長(zhǎng)短連接只是一個(gè)概念問(wèn)題長(zhǎng)短連接的socket,就是使用普通的socket函數(shù),沒(méi)有什么特殊的。