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

在客戶端連接后定時發(fā)送數(shù)據(jù)問題

h0r1z0n

請教幾個問題
我使用的是最新下載的2.0 gateway worker版本
在Applications\XXX\Event.php寫入代碼
我想在客戶端onConnect后,發(fā)送一次命令獲取uid,然后使用綁定想這個客戶端定時發(fā)送數(shù)據(jù),定時發(fā)送的命令基本是一樣的。最后在onMessage接收處理。

1.是使用while循環(huán)還有sleep定時發(fā)送數(shù)據(jù)還是使用定時器Timer?這兩種效果一樣嗎?

使用定時器在timer中發(fā)送數(shù)據(jù)Gateway::sendToCurrentClient('READ ID'); 為什么接收不到?
如果定時發(fā)送的數(shù)據(jù)太快,客戶端在接收命令后會一次執(zhí)行嗎,會不會引起什么后果?

4622 1 0
1個回答

walkor 打賞

1、使用Timer。不能使用while循環(huán)還有sleep,會導(dǎo)致這個進(jìn)程無法接收處理其它請求,也就是無法觸發(fā)onMessage。

2、定時器是異步的,sendToCurrentClient是向當(dāng)前用戶發(fā)送數(shù)據(jù),異步環(huán)境無法知道當(dāng)前的用戶是誰,所以無法發(fā)送。使用sendToClient發(fā)送指定client_id即可,定時器是可以指定參數(shù)的,手冊中有很多定時器的例子可以參考下

3、速度太快,客戶端是否一次全部執(zhí)行主要看客戶端是怎么實(shí)現(xiàn)的,后果也和業(yè)務(wù)有關(guān),不能一概而論

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