为了账号安全,请及时绑定邮箱和手机立即绑定

关于swoole会话的问题

关于swoole会话的问题

PHP
繁花如伊 2019-03-12 06:40:19
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:// 一些数据 }; ws.send(data); 如果这样传的话后台获取到的是:"{"receive from":4,"data":"[object Object]"}", 有什么办法传值在后台获取并且做token校验呢?或者说在send的时候能不能将token加到header
查看完整描述

4 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

完全可以换一种思路,首先网络只能传送流数据这是无法改变的,有非常多的方法可以将对象通过特定格式以字符串的形式传送。比如,JSON、FORM,后端取出来后再解析成相应类型就行

封装一个函数
ws.sendObject = function(data) {

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

};

查看完整回答
反对 回复 2019-03-18
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

自己突然有一个想法,就是将token和fd绑定写入redis/mysql, 在请求的时候根据fd去查询,但是用户每打开一个窗口就创建一个fd,所以这种貌似是不可取的吧???

查看完整回答
反对 回复 2019-03-18
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

同问!!!!

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 383 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信