workerman既作為客戶端又作為本地推送服務(wù)器,AsyncTcpConnection 應(yīng)該放在onWorkerStart,onConnect還是onMessage函數(shù)里面?
本人小菜,有2個(gè)疑問(wèn),請(qǐng)高手指點(diǎn)一下,不勝感激!
1、如果AsyncTcpConnection 放在onConnect函數(shù)里,本地用戶每次連接是不是都會(huì)觸發(fā)AsyncTcpConnection 的建立?
2、如果AsyncTcpConnection 放在onWorkerStart里,怎么才可以把異步獲取的數(shù)據(jù)推送給本地socket客戶端?
?
哪位大俠有時(shí)間給解決一下,我給200紅包辛苦費(fèi),可聯(lián)系微信Hy20877
放在題示的任意一個(gè)回調(diào)里都可以。
1、放在onConnect函數(shù)里【onMessage回調(diào)道理類似】,并不一定每次都會(huì)觸發(fā),因?yàn)檫B接是可以復(fù)用的,也可以設(shè)計(jì)成連接池,也可以設(shè)計(jì)成一個(gè)客戶端連接對(duì)應(yīng)一個(gè)異步連接對(duì)象,這要看場(chǎng)景以及性能,普遍都是復(fù)用或者連接池。
2、若放在onWorkerStart里,在該回調(diào)發(fā)起異步調(diào)用,然后在該異步調(diào)用的onMessage回調(diào)里路由出onConnect回調(diào)保存本地的socket連接對(duì)象,發(fā)送異步獲取到數(shù)據(jù)即可【這個(gè)僅適用于單進(jìn)程模型,多進(jìn)程的要用其他手段】。