如 ws://wenda.com/path
如果获取这个path
http://doc.workerman.net/appendices/about-websocket.html 手册有
$ws = new Worker('Websocket://0.0.0.0:8181'); $ws->onConnect = function($connection) { // websocket 握手时可以获得$_GET $connection->onWebSocketConnect = function($connection , $http_header) { var_dump($_GET); }; };
在WORKER里获取了这个路径 后,我把它放在$_SESSION里,然在在业务处理EVENT.PHP中读这个$_SESSION中是空的,请教如何处理
GatewayWorker中不支持event.php中获取这个路径
每次Gateway进程转发消息给BusibuessWorker进程时,都会顺便携带上对应客户端的$_SESSION数据给BusibuessWorker进程,这时BusibuessWorker进程就能使用$_SESSION了
文档里不是说可以的? 这两个进程共享数据还是有必要的吧?
都会顺便携带上对应客户端的$_SESSION数据给BusibuessWorker进程。
说的是对应客户端的$_SESSION数据,不是说在gateway设置个全局$_SESSION变量,就传到event.php中去了,这个session数据是存储在每个gateway的连接对象里面的。在gateway进程中设置的$_SESSION变量根本无法确认是属于哪个连接对象,更不要说传递了,只有在event.php中才能设置连接的session,gateway进程对$_SESSION的操作都是无效的。
$_SESSION
http://doc.workerman.net/appendices/about-websocket.html
手册有
在WORKER里获取了这个路径 后,我把它放在$_SESSION里,然在在业务处理EVENT.PHP中读这个$_SESSION中是空的,请教如何处理
GatewayWorker中不支持event.php中获取这个路径
每次Gateway进程转发消息给BusibuessWorker进程时,都会顺便携带上对应客户端的$_SESSION数据给BusibuessWorker进程,这时BusibuessWorker进程就能使用$_SESSION了
文档里不是说可以的? 这两个进程共享数据还是有必要的吧?
说的是对应客户端的$_SESSION数据,不是说在gateway设置个全局
$_SESSION
变量,就传到event.php中去了,这个session数据是存储在每个gateway的连接对象里面的。在gateway进程中设置的$_SESSION
变量根本无法确认是属于哪个连接对象,更不要说传递了,只有在event.php中才能设置连接的session,gateway进程对$_SESSION的操作都是无效的。