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

關于維持AsyncTcpConnection鏈接的問題

灰灰灰狼

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

3195 1 0
1個回答

walkor 打賞

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

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