我正在尝试使用sails MVC开发一个简单的基于socket io的聊天应用程序。 每当客户端连接多次发送的套接字(等于客户端数量)。 这是我的代码。
服务器:
io=req.socket.manager;
var users=[];
io.sockets.on('connection', function(client) {
console.log("connected");
users.push(client.id);
client.on("chat", function(data) {
io.sockets.sockets[data.to].emit("chat", { from: client.id, to: data.to, msg: data.msg });
client.emit("chat", { from: client.id, to: data.to, msg: data.msg });
});
});
客户:
var socket=new io.connect('http://localhost:1337/');
socket.request('/Chat/index');
socket.emit('connection',function(data){
console.log(data);
});
socket.on('connect', function() {
console.log("Connected.");
//
});
socket.on('chat', function(data) {
console.log(data.msg );
});
请帮助我,有没有办法在帆中获得实际的套接字对象? 我正在使用io = req.socket.manager;这是req对象。
答案 0 :(得分:0)
套接字对象应该可以在服务器端的sails.io中访问
答案 1 :(得分:0)
也许你想回答一个独特的socket id
?这可以通过这种方式实现:
在文件sockets.js
中,在config
文件夹中,找到onConnect
属性并添加如下代码:
onConnect: function(session, socket){
sails.io.sockets.socket(socket.id).send('YOUR_EVENT', {'message' : 'your message to a unique socket'});
}
在建立新连接时,它将发送唯一消息。只是几个笔记:
希望这有帮助。