你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
walkor
赞同来自: lichao
还是那句话,异步环境中无法确认当前处理的任务是谁的,和会话有关的超全局变量$_SERVER $_SESSION都是无效的。比如5秒后执行一次异步任务,在这5秒内处理了很多客户端数据,那么超全局变量$_SERVER已经被重新赋值覆盖了很多次了,5秒后执行的异步任务中你敢直接使用这个值么?
你可以把这个值存储起来,等用到的时候提取使用即可,很简单嘛 例如:
$task = new AsyncTcpConnection('...'); $remote_ip = $_SERVER; $task->onMessge = function($task, $msg)use($remote_ip){ // 异步任务中直接用$remote_ip };
要回复问题请先登录或注册
php-深圳-梅西
1 个回复
walkor
赞同来自: lichao
还是那句话,异步环境中无法确认当前处理的任务是谁的,和会话有关的超全局变量$_SERVER $_SESSION都是无效的。比如5秒后执行一次异步任务,在这5秒内处理了很多客户端数据,那么超全局变量$_SERVER已经被重新赋值覆盖了很多次了,5秒后执行的异步任务中你敢直接使用这个值么?
你可以把这个值存储起来,等用到的时候提取使用即可,很简单嘛
例如: