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

GatewayWorker session讀取失敗

leaboy

[attach]539[/attach]

如圖:
1的時(shí)候會(huì)寫入session,打印出來是有數(shù)據(jù)的
2的時(shí)候讀取session就為null了

這種情況偶爾會(huì)出現(xiàn),多次出現(xiàn)在服務(wù)重新啟動(dòng)后,不知道是什么情況

但是正常的websocket連接沒有這個(gè)問題

3735 7 0
7個(gè)回答

walkor 打賞

stream_socket_client是連的workemran么?
沒看到哪里有操作session,
如何知道session沒了?

  • 暫無評(píng)論
leaboy

這個(gè)是其它項(xiàng)目的client端

服務(wù)端代碼:

[attach]541[/attach]

[attach]542[/attach]

上面的1會(huì)執(zhí)行online方法,2會(huì)執(zhí)行filter方法

  • 暫無評(píng)論
walkor 打賞

session 存儲(chǔ)是異步的,有輕微延遲,如果客戶端瞬間發(fā)送多個(gè)請(qǐng)求,請(qǐng)求間有session依賴,可能會(huì)遇到上個(gè)請(qǐng)求設(shè)置的session,下個(gè)請(qǐng)求讀不到的情況。

可以用Gateway::getSession來同步獲取session解決這個(gè)問題。
$_SESSION = Gateway::getSession($client_id);

  • 暫無評(píng)論
leaboy

好的,我試下

  • 暫無評(píng)論
leaboy
    $_SESSION = Gateway::getSession($client_id);    // 同步session
    echo 'filter('.$client_id.'): ' . json_encode($_SESSION), PHP_EOL;

filter方法改成這樣取到的$_SESSION就一直是null了

  • 暫無評(píng)論
leaboy

websocket的正常請(qǐng)求不管加不Gateway::getSession()都沒問題

  • 暫無評(píng)論
leaboy

[attach]543[/attach]
已解決,client端最后一次請(qǐng)求加上一個(gè)fgets就好了,具體原因不詳(開始以為是請(qǐng)求后馬上close了導(dǎo)致session被清除,后來試著加了sleep再close也不行)

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