我正在尝试在我的MEAN应用程序中包含聊天功能,我所完成的所有内容都是所有连接用户都可以进行通信的媒介。不是一个单独的组。我遵循一些教程,但他们通过伎俩,如在消息前发送一些关键词(他们说的哨子)。 据我所知,每个连接的用户都提供了一个单独的套接字ID,通过它进行通信,但我没有获得该ID。
module.exports = function(socket){
//console.log(socket);
var users =[];
socket.on('username',function(data){
users.push({id:socket.id,username:data.message});
socket.emit('username',users)
})
console.log('connected');
socket.on('typing',function(data){
//socket.emit('typing',{message:"helo angular"});
socket.broadcast.emit('typing',{message:data.message});
});
它显示我没有定义套接字,任何人都更好地了解如何使用socket.io和node.js执行私人消息
任何人都可以告诉我这个。
答案 0 :(得分:0)
让所有用户加入他们自己的唯一群组。
socket.join(socket.id);
然后,您可以通过执行此操作向一个用户发送消息
io.sockets.in(whichever_user.id).emit('msg', "Hello there user lets have a private chat!");
我建议使用Node的Express框架,并在其中实现Socket.io。 以下是一些链接,告诉您如何设置Express和Socket.io:
https://www.youtube.com/watch?v=WH5qsGnFkBM&lc=z135dbryaqbfitiee22pd33ouozhwft3q
--- Youtube评论告诉你如何设置快速生成器。
AdrianGąsiewicz:
对于那些希望拥有与Bucky类似的目录结构的人:
安装Express生成器“sudo npm install -g express-generator”
转到要创建项目的目录并键入“express myapp --ejs”3。选择新创建的目录 - > “cd myapp”
安装所有node_modules - > “npm install”
运行服务器 - > “npm start”
- 醇>
打开浏览器并输入“http://localhost:3000/”玩得开心;)
Using socket.io in Express 4 and express-generator's /bin/www
---这告诉您如何在Node.js Express项目中设置套接字。