Javascript 如何从socket.io websocket传递/访问PHPSESSID cookie值?
当客户端尝试连接到socket.io websocket时,我需要传递PHPSESSID cookie的值 我尝试使用Javascript 如何从socket.io websocket传递/访问PHPSESSID cookie值?,javascript,node.js,cookies,websocket,socket.io,Javascript,Node.js,Cookies,Websocket,Socket.io,当客户端尝试连接到socket.io websocket时,我需要传递PHPSESSID cookie的值 我尝试使用socket.handshake.headers,但由于某种原因,PHPSESSID没有被传递 我试图发出一个连接事件来发送cookie值。但我似乎还是做不到 这就是我所做的 这是我的websocket服务器代码 var env = require('./config'); var app = require('express')(); var server = require
socket.handshake.headers
,但由于某种原因,PHPSESSID没有被传递
我试图发出一个连接事件来发送cookie值。但我似乎还是做不到
这就是我所做的
这是我的websocket服务器代码
var env = require('./config');
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var clients = [];
server.listen(env.socket.port, env.socket.host, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Websocket running at http://%s:%s', host, port);
});
app.get('/', function (req, res) {
res.send('Welcome!');
});
io.on('connection', function (socket) {
//console.log(socket.handshake.headers);
clients.push(socket);
socket.on('connect', function(msg){
console.log('PHPSESSID: ' + msg);
});
socket.on('chat', function(msg){
console.log('message: ' + msg);
});
socket.emit('chat', { hello: 'world' });
});
这是我的客户代码
<script>
$(function(){
var socket = io.connect('https://10.0.4.18:8020');
socket.emit('connect', { 'sessionId' : '<?php echo $_COOKIE['PHPSESSID']; ?>' });
$('#f').click(function(e){
e.preventDefault();
if($('#m').val() == '')
return;
socket.emit('chat', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
</script>
$(函数(){
var socket=io.connect('https://10.0.4.18:8020');
emit('connect',{'sessionId':'''});
$('#f')。单击(函数(e){
e、 预防默认值();
如果($('#m').val()='')
返回;
emit('chat',$('#m').val());
$('m').val('');
返回false;
});
socket.on('chat',函数(msg){
$(“#消息”).append($(“”).text(msg));
});
});
我希望将带有sessionId的json字符串打印到服务器控制台
如何从websocket传递/访问PHPSESSID值?如果您希望在节点和PHP之间共享会话ID,则会出现一个快速搜索结果:@TbWill4321谢谢?我不能将cookie值传递给我的websocket吗?我的会话存储在MySQL数据库中。因此,如果我可以传递这些值,我将在nodejs中执行MySQL查找并验证会话