怎么从客户端将cookie发送到GatewayWorker?

ven13

按照最简单的在js中进行websocke连接,workerman会带上cookie,但GatewayWorker却找不到cookie,请问怎么让客户端带上cookie发送,然后让GatewayWorker 可以接收到?可以在onWebSocketConnect中查看。

2109 1 0
1个回答

blogdaren
  1. 客户端:js利用 document.cookie 属性来操作cookies,具体参看手册。
  2. 服务端:gatewayworker 在 onWebSocketConnect 握手阶段获取cookies:
    public static function onWebSocketConnect($connection, $http_header)
    {   
    var_dump($http_header);  //$http_header包含了cookie字段
    }
  • ven13 2019-01-14

    你好,我就是在客户端使用了document.cookie,但还是在服务端取到空的cookie

  • blogdaren 2019-01-15

    经测试没发现什么问题,所以自查下:

    1. 确保客户端正确使用js代码
    2. 尝试升级gatewayworker版本
    3. 如下是测试OK的JS代码:

    <script type="text/javascript">
    function setCookie(name, value, timeout)
    {
    var t = new Date()
    t.setDate(t.getDate() + timeout);
    var expire = (timeout == null) ? "" : ";expires=" + t.toGMTString();
    document.cookie = name + "=" + escape(value)+ expire;
    }
    setCookie('k1', 'v1', 100);
    </script>

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