Socket 網(wǎng)絡(luò)編程(三)

最佳實(shí)踐

使用場(chǎng)景一:數(shù)據(jù)通信

兩臺(tái)(多臺(tái))機(jī)器使用 Netty 怎樣進(jìn)行通信,大體可分為三種:

1)使用長(zhǎng)連接通道不斷開的形式進(jìn)行通信,也就是服務(wù)器和客戶端的通道一直處于開啟狀態(tài)。如果服務(wù)器的性能足夠好,并且客戶端的數(shù)量也比較少的情況下,推薦使用這種方式。

2)采用短連接的方式,一次性批量提交數(shù)據(jù)。把數(shù)據(jù)保存在本地臨時(shí)緩沖區(qū)或者臨時(shí)表里,當(dāng)達(dá)到臨界值時(shí)進(jìn)行一次性批量提交,又或者根據(jù)定時(shí)任務(wù)輪詢提交。弊端是,不能實(shí)時(shí)傳輸,在對(duì)實(shí)時(shí)性要求不高的場(chǎng)景下推薦這種方式。

3)使用一種特殊的長(zhǎng)連接,在指定某一時(shí)間之內(nèi),如果服務(wù)器和某臺(tái)客戶端沒有任何通信,則斷開連接,當(dāng)下次客戶端向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,再次建立連接。這種模式需要考慮兩個(gè)因素:

  • 如何在超時(shí)(即服務(wù)器和客戶端沒有任何通信)后關(guān)閉通道?關(guān)閉通道后又如何再次建立連接?
  • 客戶端宕機(jī)時(shí),無需考慮,下次客戶端重啟之后就可以與服務(wù)器建立連接。但是當(dāng)服務(wù)器宕機(jī)時(shí),客戶端如何與服務(wù)器進(jìn)行連接呢?

使用場(chǎng)景二:心跳監(jiān)控

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 還只剩下十分鐘了 她看著打開手機(jī)看了眼時(shí)間 再過十分鐘,她這一年的記憶就要徹底清零了。 她很想記住曾經(jīng)在這一年出現(xiàn)...
    三分熱血少女阿怪閱讀 369評(píng)論 1 3
  • 中年多病,人生余慶,正有閑處聽濤靜。晝彈錚,夜歌笙,繁花似錦青春盛。 日影西斜霜色冷。昨,醉不醒。今,且自省。
    沙子666閱讀 206評(píng)論 0 2

友情鏈接更多精彩內(nèi)容