求提示,怎么实现 自定义带参? 推送数据的url格式 type=publish&sid=sid&qid=qid&zid=zid&uid=uid&content=xxxx 我在原有的代理中试了几种方法都不行... 其中的to emit方法 在SocketIO.php Socket.php中都有 就是没有搞明白... 看代码,文档我也粗略的看了 未发现解惑之法... [attach]283[/attach]
[attach]284[/attach]
把start.php看懂就会了,start.php只有100行代码。 不用看其它php文件,vendor里面是框架的代码,不用改动。只看start.php。
真的只是 start.php这个页面处理? 那服务端发送时的 url格式 type=publish&sid=sid&qid=qid&zid=zid&uid=uid&content=xxxx 这样就OVER啦?
@walkor start.php全部代码我都看过了,问题本质还是没有变,最终还是to()这里有问题 $sender_io->to($to)->emit('new_msg', $_POST); 其它地方增加人数,离线删除人数;当前人打开页面数都没问题了; 最终还是无法返回带参的值.........就算接收到多个参数....to()也只能返回一个参数,emit发送的content为内容,最多也只能接带的参数 追加到这里面.其本质没有变
$sender_io->to($to)->emit('new_msg', $data); 例子里面$data是字符串,实际$data可以是数组,你可以把其它参数放到里面,js收到的是对象。 你可以看下源码docs里面PHPSocket.io手册
@walkor 你这样就是我上面说的本质没有变化了,还是两个参to+content $_POST = htmlspecialchars(@$_POST); 这里用了htmlspecialchars来过滤转成html代码很实用,说白了 我这里把参弄成字符串一样的 感谢你为我服务@walkor
除了to content,可以传其它参数啊,就像你第二个截图不是已经接受多个参数了么?
第二个截图里面我不清楚你为什么写$to=$data;把$to重置了, 然后还
if($to){ // $to现在是实际是$data,这句是一个无效的调用,发送对象$data是不存在的 $sender_io->to($to)->emit('new_msg', $to); }
你写错了吧?
其实很简单呢,主干代码就这几句
$data = array( 'sid' => $_POST, 'qid'=> $_POST, ); $to = $_POST; $sender_io->to($to)->emit('new_msg', $data);
把start.php看懂就会了,start.php只有100行代码。
不用看其它php文件,vendor里面是框架的代码,不用改动。只看start.php。
真的只是 start.php这个页面处理?
那服务端发送时的 url格式 type=publish&sid=sid&qid=qid&zid=zid&uid=uid&content=xxxx
这样就OVER啦?
@walkor start.php全部代码我都看过了,问题本质还是没有变,最终还是to()这里有问题
$sender_io->to($to)->emit('new_msg', $_POST);
其它地方增加人数,离线删除人数;当前人打开页面数都没问题了;
最终还是无法返回带参的值.........就算接收到多个参数....to()也只能返回一个参数,emit发送的content为内容,最多也只能接带的参数 追加到这里面.其本质没有变
$sender_io->to($to)->emit('new_msg', $data);
例子里面$data是字符串,实际$data可以是数组,你可以把其它参数放到里面,js收到的是对象。
你可以看下源码docs里面PHPSocket.io手册
@walkor 你这样就是我上面说的本质没有变化了,还是两个参to+content
$_POST = htmlspecialchars(@$_POST);
这里用了htmlspecialchars来过滤转成html代码很实用,说白了 我这里把参弄成字符串一样的
感谢你为我服务@walkor
除了to content,可以传其它参数啊,就像你第二个截图不是已经接受多个参数了么?
第二个截图里面我不清楚你为什么写$to=$data;把$to重置了,
然后还
你写错了吧?
其实很简单呢,主干代码就这几句