手冊(cè)上說“客戶端定時(shí)每X秒(推薦小于60秒)向服務(wù)端發(fā)送特定數(shù)據(jù),服務(wù)端設(shè)定為X秒沒有收到客戶端心跳則認(rèn)為客戶端掉線,并關(guān)閉連接觸發(fā)onClose回調(diào)?!?而之所以推薦小于60秒是因?yàn)椤昂芏嗦酚晒?jié)點(diǎn)會(huì)清理60秒內(nèi)不活躍的連接,導(dǎo)致還沒來得及發(fā)送心跳,連接就斷開了?!眳⒖甲詗alker大大在https://wenda.workerman.net/question/4615 這個(gè)問題中的回復(fù)。 問題一:現(xiàn)在我設(shè)置的$ga...
如圖所示,我的兩臺(tái)設(shè)備50127和50128,在onMessage()里打印出對(duì)應(yīng)的client_id時(shí),卻發(fā)現(xiàn)兩臺(tái)設(shè)備對(duì)應(yīng)的client_id一樣,之前一直沒遇到過這種情況。文檔中說client_id是唯一的,請(qǐng)問大神這是什么原因?qū)е碌模?..
1.平時(shí)晚上10點(diǎn)左右業(yè)務(wù)量都比較低了,但是昨天晚上BusinessWorker進(jìn)程突然全沒了,查看log日志,發(fā)現(xiàn)只有昨天凌晨時(shí)候有一次錯(cuò)誤4,可能是有鏈接連接到register上了,但晚上10點(diǎn)左右日志并沒有記錄下來任何東西,應(yīng)該不是這個(gè)錯(cuò)誤吧。但保險(xiǎn)起見,還是把注冊(cè)地址改成127.0.0.1了($register = new Register('text://127.0.0.1:xxxx');)。在重啟gate...
最近gatewayworker報(bào)錯(cuò)error3,error4,exit_status:11,exit_status:64000. 1:出現(xiàn)error4應(yīng)該是自己的注冊(cè)地址設(shè)置的有問題,現(xiàn)在已經(jīng)改成了127.0.0.1; 2:查看文檔http://wiki.workerman.net/Error3上面說有兩個(gè)原因,一個(gè)是gateway和businessworker的registerAddress設(shè)置錯(cuò)誤或不一致,一個(gè)是...
昨天晚上重啟gateway的時(shí)候就有發(fā)現(xiàn)這個(gè)問題,守護(hù)進(jìn)程啟動(dòng)成功之后,用status指令查看發(fā)現(xiàn)沒有businessworker,然后我的設(shè)備也就一直連不上,之后就一直重啟,最后就好了。然后今天重啟的時(shí)候又出現(xiàn)了這個(gè)問題,也是重啟多次后才連上了businessworker,然后因?yàn)槠渌蛴种貑⒘艘淮?,結(jié)果就一直連不上了,然后現(xiàn)在我把businessworker連接數(shù)調(diào)大,連接上了,請(qǐng)問這個(gè)原因是因?yàn)閎usines...
想請(qǐng)教一個(gè)問題,當(dāng)我的設(shè)備在連上gateway后突然斷開,是否可以通過$SESSION來獲取這臺(tái)設(shè)備id并更新對(duì)應(yīng)的設(shè)備狀態(tài),因?yàn)槲椰F(xiàn)在遇到的情況是我的設(shè)備斷開了連接,觸發(fā)了onclose但是$SESSION卻沒有值,導(dǎo)致無法運(yùn)行update函數(shù)更新設(shè)備狀態(tài)。手冊(cè)上說客戶端或服務(wù)端與Gateway進(jìn)程的連接斷開時(shí)觸發(fā)onclose,而$_SESSION的生命周期與client_id對(duì)應(yīng)socket連接的生命周期相同,...
大神,我用過的是gateway worker,現(xiàn)在發(fā)現(xiàn)服務(wù)器cpu很高,于是用top指令查看了一下,如左圖所示,上面幾個(gè)進(jìn)程都占了很多cpu,然后用cd /proc/PIDID查看了一下對(duì)應(yīng)的pid,發(fā)現(xiàn)如圖右所示,cwd指向的都是gatewayworker文件夾,請(qǐng)問大神這該如何處理...
大神,我使用gatewayworker有一段時(shí)間了,現(xiàn)在在workerman日志中發(fā)現(xiàn)了error4的問題,這個(gè)錯(cuò)誤貌似從我一開始使用gatewayworker就出現(xiàn)了,只是之前一直沒有注意,然后我根據(jù)提示查看了http://wiki.workerman.net/Error4文檔,上面說檢查本機(jī)是否有程序鏈接Register服務(wù),于是我根據(jù)workerman日志上面提示的pid,查了一下路徑,如圖所示,其中cwd表示...
如下圖所示,上邊的是打印的mac地址,下邊是在events文件里的onMessage()函數(shù)里寫的代碼,打印mac地址和ip,但是打印出來的mac地址確是本地局域網(wǎng)的mac地址,而且可能是因?yàn)樵O(shè)備用的是移動(dòng)物聯(lián)卡的緣故,它的ip貌似是動(dòng)態(tài)ip,因?yàn)闀?huì)變化,所以現(xiàn)在也無法通過ip來確認(rèn)設(shè)備身份。 現(xiàn)在想請(qǐng)問大神以下幾個(gè)問題 問題一:能否通過gatewayworker獲取設(shè)備的mac地址? 問題二:如果可以,僅僅通過設(shè)備...
手冊(cè)上說可以gatewayworker可以通過$_SERVER來獲取對(duì)方ip,但是在局域網(wǎng)里面沒辦法判斷信息的具體來源,無法具體到某一臺(tái)設(shè)備,所以現(xiàn)在想獲取mac地址,請(qǐng)問gatewayworker可以在收到對(duì)方發(fā)來的信息時(shí)獲取對(duì)方的mac地址嗎?...
大神,我想記錄gatewayworker的業(yè)務(wù)日志,但Worker::$stdoutFile似乎只能在啟動(dòng)gatewayworker的時(shí)候創(chuàng)建文件,并不能按天來建立日志文件記錄業(yè)務(wù)日志,我在workerman手冊(cè)上看到logfile,如圖所示,但是用file_put_contents打印數(shù)據(jù)會(huì)不會(huì)對(duì)gatewayworker的性能有什么影響?包括業(yè)務(wù)進(jìn)程,業(yè)務(wù)處理時(shí)間什么的。目前我這邊打印的數(shù)據(jù),每條最多也不到一百個(gè)...
我服務(wù)端用的是gatewayworker,協(xié)議是tcp,客戶端socket連接程序如圖所示,現(xiàn)在遇到的問題是:當(dāng)我調(diào)用客戶端socket發(fā)送數(shù)據(jù)到服務(wù)器時(shí),我只調(diào)用了一次,但是客戶端會(huì)重復(fù)發(fā)送數(shù)據(jù)到服務(wù)器,大多數(shù)情況都是我發(fā)起調(diào)用后整整一分鐘,客戶端又自動(dòng)重新向服務(wù)器發(fā)送數(shù)據(jù),但也就重發(fā)一次,有想過是不是我客戶端程序所在頁面自動(dòng)刷新了,但測(cè)試后發(fā)現(xiàn)并沒有,所以在想是不是我socket程序有什么問題,還請(qǐng)大神指教...
我用gatewayworker時(shí)為了適應(yīng)高并發(fā)將gateway進(jìn)程調(diào)成了cpu核的4_3倍,將bussiness進(jìn)程調(diào)為cpu核的4_1倍,我的cpu是雙核,現(xiàn)在可支持并發(fā)量上去了,但是剛剛看文檔才發(fā)現(xiàn)上面說的是gateway調(diào)成cpu核數(shù)相等,business調(diào)成cpu核數(shù)的三倍,瞬間懵了,請(qǐng)問大神這是什么情況,還有就是這個(gè)cpu核數(shù)是看我服務(wù)器的cpu核數(shù)吧,那我是要將gateway進(jìn)程調(diào)成2嗎?我這邊是阻塞式I...
@walkor 我在git上下載了workerman壓測(cè)代碼workerman-bench-master,然后放在了gatewayworker同級(jí)目錄下,然后啟動(dòng)start.php,再執(zhí)行./benchmark -n10000 -h1 -c400 -p56789 127.0.0.1這段代碼,端口和ip我都換成自己的了,但是系統(tǒng)顯示no such file or directory,是我的壓測(cè)代碼位置放的不對(duì)嗎?...
@walkor 你好,我用了你的這段程序進(jìn)行g(shù)atewayworker壓測(cè);http://wenda.workerman.net/?/question/1453; 但我在終端運(yùn)行時(shí)只顯示1 connections complete ;con close 就沒有了,而且在加了$con->transport = 'ssl'后,報(bào)php警告:stream socket client() : ssl: connecti...
你好,我在start.php中加入 Worker::$stdoutFile = '/tmp/stdout.log'寫入程序,但程序中var_dump的內(nèi)容并沒有被寫進(jìn)該文件,debug模式時(shí)var_dump的內(nèi)容是可以在終端看見的,請(qǐng)問你知道是什么原因 嗎...