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

$_SESSION不能保存對象?

kevin

public static OnConnect($client_id)
{
$app = new App($client_id, $ip);
$_SESSION = $app;
}

會(huì)發(fā)現(xiàn)App的destruct函數(shù)被調(diào)用了,也就是說$_SESSION = $app;的時(shí)候,對象銷毀了一次。
請問這是怎么回事。

謝謝

3776 2 0
2個(gè)回答

walkor 打賞

GatewayWorker手冊中有講解session,包括原理。
http://wtbis.cn/gatewaydoc/gateway-worker-development/session.html

Gateway/Worker模型中,每個(gè)客戶端的session數(shù)據(jù)是存儲(chǔ)在Gateway進(jìn)程內(nèi)存中的,每次Gateway進(jìn)程轉(zhuǎn)發(fā)消息給BusibuessWorker進(jìn)程時(shí),都會(huì)順便攜帶上對應(yīng)客戶端的session數(shù)據(jù)給BusibuessWorker進(jìn)程,這時(shí)BusibuessWorker進(jìn)程把session數(shù)據(jù)賦值給$_SESSION變量,Event.php中就能使用$_SESSION了。因?yàn)橛袀€(gè)賦值覆蓋的過程,所以之前$_SESSION保存的App對象被覆蓋了,App對象沒有任何引用了,就被回收了,所以就調(diào)用了析構(gòu)函數(shù)。

  • 暫無評論
walkor 打賞

可以在全局保存一個(gè)數(shù)組,里面保存App對象,這樣就不會(huì)被析構(gòu)了。

public static OnConnect($client_id)
{
    global $app_array;
    $app = new App($client_id, $ip);
    $app_array = $app;
}

但是要注意在onClose時(shí)刪除這個(gè)app對象,不然隨著客戶端不斷的連接,$app_array會(huì)越來越大,導(dǎo)致內(nèi)存不斷增長。

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