【问题标题】:private chat using socket.io in MEAN app在 MEAN 应用程序中使用 socket.io 进行私人聊天
【发布时间】:2016-10-16 06:57:09
【问题描述】:

我正在尝试在我的 MEAN 应用程序中包含聊天功能,到目前为止,我所完成的只是一个所有连接用户都可以交流的媒介。而不是一个单独的组。我遵循了一些教程,但他们通过技巧来做,比如在消息前面发送一些关键词(他们说的哨声)。 据我所知,每个连接的用户都提供了一个单独的套接字 ID,通过该 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 执行私人消息
谁能告诉我这个。

【问题讨论】:

  • 您在哪里初始化socket.io 服务器并创建新的套接字连接?
  • @MukeshSharma 在我的主 app.js 我的代码在这里 var server = require('http').Server(app); var io = require('socket.io')(server); var socket = require('./routes/socket.js'); server.listen(8000); console.log('服务器监听端口:8000'); io.on('连接',socket);
  • 你能分享错误堆栈跟踪吗?

标签: node.js socket.io chat mean


【解决方案1】:

让所有用户加入他们自己独特的群组。

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评论告诉你如何设置快递生成器。

阿德里安·加谢维奇:

对于那些希望拥有与 Bucky 类似的目录结构的人:

  1. 安装 Express 生成器“sudo npm install -g express-generator”

  2. 进入要创建项目的目录并输入“express myapp --ejs” 3. 选择新创建的目录-->“cd myapp”

  3. 安装所有node_modules --> "npm install"

  4. 运行服务器 --> "npm start"

  5. 打开浏览器并输入“http://localhost:3000/”玩得开心;)

Using socket.io in Express 4 and express-generator's /bin/www

---这告诉你如何在 Node.js Express 项目中设置套接字。

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2017-06-12
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 2014-08-13
    • 2011-11-18
    相关资源
    最近更新 更多