GatewayWorker 获取不到WebSocketd URI

hcf1106

gatewayworker在Events.php中定义了OnConnect方法,想要答应连接过来的WebSocket的内容。因为要根据不容的URL来确定不同Socket的功能,

例如:
A类的web Socket的url为 ws://127.0.0.1:8001/functionA
B类的WebSocket的url为 ws://127.0.0.1:8001/functionB

我想要在最开始就将这两种进行分类。但是发现打印$_SERVER的时候,并没有WebSocket.php协议内赋值给$_SERVER的内容。
只有这么几个:

$_SERVER
$_SERVER
$_SERVER
$_SERVER
$_SERVER

我应该怎么修改才能拿到$_SERVER所有的内容

2759 1 0
1个回答

walkor

onConnect 代表tcp连接成功(类似打电话接通),这时候还没有任何数据传输(类似电话中双方都没说话),所以这时候除了知道对方的ip地址(类似对方电话号码),没有其它有用信息。

可以在onWebSocketConnect里去获取这些数据,见手册
http://doc2.workerman.net/on-web-socket-connect.html
注意只有GatewayWorker>=3.0.8才支持onWebSocketConnect

  • hcf1106 2018-07-11

    如果是HTTP协议呢,也能通过类似的方法进行获取URI么

  • walkor 2018-07-11

    Gateway不支持http协议

  • hcf1106 2018-07-12

    @1:不好意思,又打扰你了,最后再问一个问题,gateway里面支持curl进行和别的http服务器进行通信的可能么

  • walkor 2018-07-12

    gateway也是php写的,php里支持的东西gateway也支持。但是注意要给php cli装curl扩展,网页上能看到curl扩展不代表php cli就有了扩展,网页的php和php cli不是同一个东西

年代过于久远,无法发表回答
🔝