鍍金池/ 問答/PHP/ 關(guān)于swoole會話的問題

關(guān)于swoole會話的問題

 var token = localStorage.getItem('userToken');
    if(!token){
            alert('請先登錄');
       return false;
  }

  var ws = new WebSocket("ws://127.0.0.1:8081");

在ws.onopen 的時候打算將token傳到服務器做校驗,但是貌似ws.send() 只能穿一個值,

var data = {
token:token,
data:// 一些數(shù)據(jù)
};

ws.send(data);

如果這樣傳的話后臺獲取到的是:"{"receive from":4,"data":"[object Object]"}",

有什么辦法傳值在后臺獲取并且做token校驗呢?
或者說在send的時候能不能將token加到header

回答
編輯回答
北城荒

var ws = new WebSocket("ws://127.0.0.1:8081?token={token}");

2018年3月21日 03:09
編輯回答
命于你

同問!!!!

2017年12月27日 05:26
編輯回答
神經(jīng)質(zhì)

完全可以換一種思路,首先網(wǎng)絡(luò)只能傳送流數(shù)據(jù)這是無法改變的,有非常多的方法可以將對象通過特定格式以字符串的形式傳送。比如,JSON、FORM,后端取出來后再解析成相應類型就行

封裝一個函數(shù)
ws.sendObject = function(data) {

return ws.send(JSON.stringify(data));

};

2018年1月22日 05:01
編輯回答
尐潴豬

自己突然有一個想法,就是將token和fd綁定寫入redis/mysql, 在請求的時候根據(jù)fd去查詢,但是用戶每打開一個窗口就創(chuàng)建一個fd,所以這種貌似是不可取的吧???

2018年2月13日 07:45