国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于維持AsyncTcpConnection鏈接的問題

灰灰灰狼

架構(gòu)如圖所示
[attach]1740[/attach]
問題在于圖中紅色部分。
?
BW在?onWorkerStart 發(fā)起?AsyncTcpConnection? 連接邏輯層,在 AsyncTcpConnection 的?onConnect?回調(diào)中,開啟定時(shí)器發(fā)送心跳連接和處理任務(wù).
?
如果心跳連接的頻率過快,或者說 BW與邏輯層 頻繁的雙向通訊,會(huì)阻塞BW進(jìn)程嗎?比如:GW和邏輯層同時(shí)發(fā)送信息過來,是會(huì)同時(shí)處理還是會(huì)誰先就處理誰的先?
?
看了異步任務(wù)里面的demo,都是接收到數(shù)據(jù)就關(guān)閉連接,由于?BW與邏輯層是頻繁的雙向通訊,如果收到數(shù)據(jù)就關(guān)閉連接,這樣BW和邏輯層兩邊都得頻繁發(fā)起連接,感覺會(huì)加重負(fù)擔(dān)。
我的想法是,每一個(gè)BW發(fā)起的一個(gè)異步連接邏輯層(僅此一個(gè)),BW里面有一個(gè)任務(wù)隊(duì)列,任務(wù)隊(duì)列通過這個(gè)連接發(fā)送任務(wù)與接受結(jié)果(此處不阻塞BW與GW的通訊),接受到結(jié)果,再把結(jié)果主動(dòng)推送到客戶端上。
?
模擬一下場景,ABCD連接到GW,A發(fā)送‘踢掉D連接’給GW,GW收到信息轉(zhuǎn)發(fā)給BW,BW收到信息立馬回復(fù)'消息已收到',然后把A的消息壓入任務(wù)隊(duì)列,此時(shí)BW里面的AsyncTcpConnection正在發(fā)送任務(wù)給Logic層,那么這時(shí)候A的消息能不能壓入任務(wù)隊(duì)列?Logic層收到任務(wù),處理到一半通知BW‘踢掉D連接’,然后又通知BW'順帶踢掉C'(這里可能是主動(dòng)通知),后面又可能因?yàn)锳的消息,Logic層會(huì)間斷的主動(dòng)通知BW踢人
?
?
?
?
?
?

3124 1 0
1個(gè)回答

walkor 打賞

是否阻塞BW進(jìn)程和通許頻率沒有關(guān)系。
哪個(gè)消息先收到先處理哪個(gè)消息,單個(gè)進(jìn)程內(nèi)不會(huì)有并發(fā)處理的情況,單個(gè)進(jìn)程內(nèi)業(yè)務(wù)處理都是串行的,不會(huì)出現(xiàn)一個(gè)消息處理一半被其它消息影響的情況。

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??