Javascript 如何在用户和WebSocket之间建立一个连接?
我在node/Express服务器上运行websocket 我需要将Javascript 如何在用户和WebSocket之间建立一个连接?,javascript,json,node.js,websocket,socket.io,Javascript,Json,Node.js,Websocket,Socket.io,我在node/Express服务器上运行websocket 我需要将json字符串发送回websocket和客户端之间的第四个字符串 但是,如果用户打开多个浏览器选项卡,我希望websocket服务器知道这是已经连接的同一个用户 这是逻辑执行顺序 用户连接到WebSocket 用户将json字符串发送到WebSocket WebSocket对接收到的消息进行处理 WebSocket最终将新消息发送到用户打开的所有选项卡 新消息应仅返回给该用户,而不是其他用户 如何在用户和WebSocket之间建
json
字符串发送回websocket和客户端之间的第四个字符串
但是,如果用户打开多个浏览器选项卡,我希望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) {
clients[] = socket;
socket.emit('chat', { hello: 'world' });
socket.on('chat', function(msg){
console.log('message: ' + msg);
sendAll(msg);
});
});
function sendAll (message) {
for (var i=0; i< clients.length; i++) {
clients[i].send("Message For All: " + message);
}
}
var env=require('./config');
var app=require('express')();
var server=require('http')。服务器(应用程序);
var io=require('socket.io')(服务器);
var客户=[];
侦听(env.socket.port、env.socket.host、函数(){
var host=server.address().address;
var port=server.address().port;
log('Websocket在http://%s:%s、主机、端口上运行);
});
app.get('/',函数(req,res){
res.send('欢迎!');
});
io.on('连接',函数(套接字){
客户端[]=套接字;
emit('chat',{hello:'world'});
socket.on('chat',函数(msg){
console.log('message:'+msg);
sendAll(msg);
});
});
函数sendAll(消息){
对于(变量i=0;i
如果您没有用户身份验证,那么您需要一些特定于浏览器的数据来关联后端的用户
我不知道Cookie(还没有使用),但JavaScript级别的一种方法是在浏览器的本地存储中存储本地生成的随机ID(足够长,这样您就不必担心冲突),并在WebSocket级别将其作为初始消息的一部分进行传输。这使得。如何向属于1个用户的每个选项卡发送消息?使用会话客户端将由sessionid
clients={session1:[socket]}键入
clients['session1'].push(newtabracket)
我有一个PHPSESSID
cookie,我可以使用它。但是,我如何读取io.on('connection',function(socket){….
中的cookie值呢?再次感谢您。但这并不能让我访问PHPSESSID cookie。