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

GlobalData數(shù)據(jù)共享組件存儲已連接的AsyncTcpConnection異步閉包對象

CNG

業(yè)務(wù)要求為防止主進程阻塞,將異步連接獨立出另一個worker進程并使用GlobalData組件將異步連接對象存儲起來,后續(xù)進行send操作指定指定該內(nèi)存數(shù)據(jù)發(fā)送到該異步接口中;
但目前遇到了GlobalData組件無法存儲的問題:
“Exception: Serialization of 'Closure' is not allowed in E:\phpStudy\PHPTutorial\WWW\engineeringSupervision\ProjectMaster\vendor\workerman\GlobalData\src\
Client.php:202”

問題可能表述不清,現(xiàn)在論壇請大神指導(dǎo)一下方案或者程序邏輯是否存在問題,在此感謝~

截圖
截圖

2961 2 1
2個回答

CNG

目前引入了https://opis.io/closure的 composer包對閉包函數(shù)進行序列化,解決了組件存儲閉包函數(shù)的相關(guān)報錯

安裝序列化composer包

composer require opis/closure

序列化閉包函數(shù),輸出序列化后的字符串

$b = \Opis\Closure\serialize($a);
echo $b . PHP_EOL;

反序列化閉包函數(shù),執(zhí)行還原的閉包函數(shù)

$c = \Opis\Closure\unserialize($b);
$c();

但是還原的閉包函數(shù)依然無法對該保存的異步連接對象進行send發(fā)送消息
相關(guān)代碼:
截圖

  • 暫無評論
walkor 打賞

所有的外部存儲比如mysql、redis、包括GlobalData 都存儲不了資源類型的數(shù)據(jù)(比如數(shù)據(jù)庫連接、socket連接,打開文件的指針等等)。AsyncTcpConnection里面包含了socket資源,所以無法存儲。

  • CNG 2020-10-21

    好吧,明白了,謝謝大佬的回復(fù)

年代過于久遠,無法發(fā)表回答
??