Tag: 聊天

如何使用socketio实时显示在线/离线用户使用Sails?

我的实时聊天应用程序基于Sails和SocketIO。它显示所有用户以及可用的在线用户。当用户login时,发出UserConnected套接字,当用户断开连接时,发出UserDisconnected套接字,My Server side socketio代码在config / sockets.js是 onConnect: function(session, socket) { if (session.passport) { if (session.passport.user && socket.id) { sails.io.sockets.emit('UserConnected', {userID : session.passport.user}); } } //// By default: do nothing //// This is a good place to broadcast a disconnect message, or any other custom socket.io logic }, onDisconnect: function(session, socket) { if (session.passport) { if […]

在移动平台上使用套接字在java中实现实时聊天应用是一件好事

我正试图devise一个移动聊天应用程序,目标用户超过3lac,我已经看到有关XMPP服务器和客户端的方法,node.js与socket.io的文章,但混乱,这将扩大为这么多的用户。 对于这么多的用户,这也可以使用java socket api来实现。

使用带有节点js的mongodb来创build一个具有历史logging的聊天系统

试图与历史聊天,我与mongodb和节点js几个问题是清楚的:我可以保存一个新的消息在一个mongodb集合的代码部分: MongoClient.connect('mongodb://127.0.0.1:27017/gt-chat', function(err, db) { if(err) throw err; var collection = db.collection('gt-chat'); collection.insert({message:mess}, function(err, docs) { console.log("//////////////\r\n mess insertion :"+mess); collection.count(function(err, count) { console.log(format("count = %s", count)); }); }); 但我不能读从MongoDB 我试过的东西: MongoClient.connect('mongodb://127.0.0.1:27017/gt-chat', function(err, db) { if(err) throw err; var collection = db.collection('gt-chat'); console.log("Printing docs from Cursor Each") // Find all records. find() returns a cursor […]

socket.io不能调用未定义的方法“emit”(使用node.js和express,jade)

我正在跟着那个有点老的聊天的例子,但是我从这开始。 但是,所有在该页面中描述的工作后,我得到错误如下: TypeError: Cannot call method 'emit' of undefined at /Users/juneyoungoh/Documents/Nodejs/ChatSample/app.js:109:29 at Array.forEach (native) at userJoined (/Users/juneyoungoh/Documents/Nodejs/ChatSample/app.js:108:33) at Socket.<anonymous> (/Users/juneyoungoh/Documents/Nodejs/ChatSample/app.js:62:7) at Socket.EventEmitter.emit (events.js:98:17) at Socket.onevent (/Users/juneyoungoh/Documents/Nodejs/ChatSample/node_modules/socket.io/lib/socket.js:330:8) at Socket.onpacket (/Users/juneyoungoh/Documents/Nodejs/ChatSample/node_modules/socket.io/lib/socket.js:290:12) at Client.ondecoded (/Users/juneyoungoh/Documents/Nodejs/ChatSample/node_modules/socket.io/lib/client.js:193:14) at Decoder.Emitter.emit (/Users/juneyoungoh/Documents/Nodejs/ChatSample/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20) at Decoder.add (/Users/juneyoungoh/Documents/Nodejs/ChatSample/node_modules/socket.io/node_modules/socket.io-parser/index.js:247:12) 源代码的问题部分是 function userJoined(uName) { Object.keys(socketsOfClients).forEach(function(sId){ io.sockets.sockets[sId].emit('userJoined ', {'userName' : uName}); }); } 所以我跟踪对象io.sockects和我在屏幕上得到的是下面 { name: '/', server: […]

结束对话

我的机器人(使用MS BotFramework)应该是听到对话stream。 如果有人提到“聊天机器人”应该说“我在这里!”,否则保持安静。 这似乎很简单,也许是,但我很难实施它。 这是我有什么: bot.add('/', function(session) { if (someoneSaidChatbot) { session('Here I am!") } else { // session.reset(), maybe? No! // session.endDialog() then? Uh…nope. // nothing? Hmmm. negative } }); 所以,没有任何工作。 如果我离开那里,机器人只是挂起,它停止听stream或回答命令。 有什么想法吗?

AJAX在聊天应用程序

当我了解如何在Node.js中创build聊天应用程序时,我发现推荐的方法是使用Socket.io和websockets。 我还读到,我们可以定期使用AJAX发送请求,并等待来自服务器的响应。 所以我的问题是:可以AJAX服务与WebSockets相同的目的,并使用AJAX的聊天应用程序,而不是WebSockets?

更好的方法一对一和群聊nodejs Socket.io

我正在实施一对一和群聊在我的应用程序在NodeJs使用socket.io和angular4在客户端。 我是新来的socket.io和angular度4.我想问什么是更好的方法,例如,如果用户想发送消息到特定用户或它想要发送消息给用户组。 根据我的Rnd,我应该保持所有连接用户的obj,并且obj用他的用户名(email或者什么)包含该用户的套接字ID,以便如果某个用户想要发送消息给某个用户,我们应该需要他的用户名称,我们可以通过他的用户名访问他的ID。 还是有什么解决办法,除此? 我应该在哪里保持用户和套接字ID 全局variables或数据库的 obj?

Node.js:基于事件的彗星周期性的Ajax请求?

据我所知,node.js的核心特性是(也):基于事件的结构和非常便宜的“线程”睡眠。 所以,不要创build周期性的ajax请求,而是要保存像“用户A有新消息”这样的事件,让用户的A连接线程hibernate,直到事件发生,这可能是个好主意(也可能更便宜)。 您如何看待 – 服务器(RAM,CPU)使用哪个更便宜?

通过express.io连接客户端

我正在开发一个简单的聊天应用程序,使用node.js和express.io 我想一直显示连接的客户端列表(或在线聊天)。 在express.io的文档中 ,一旦新客户进入房间,如何“获取”连接的客户列表,没有明确的方法,即只有“广播”而不是“获取”。 有人做过这个? 任何线索都会非常有帮助。 谢谢! 编辑: 在尝试@ jibsales的答案后。 我想我们几乎在那里。 客户回报我的不是客户的实际数组,而是这一个: [ { id: 'OWix3sqoFZAa20NLk304', namespace: { manager: [Object], name: '', sockets: [Object], auth: false, flags: [Object], _events: [Object] }, manager: { server: [Object], namespaces: [Object], sockets: [Object], _events: [Object], settings: [Object], handshaken: [Object], connected: [Object], open: [Object], closed: [Object], rooms: [Object], roomClients: [Object], […]

是否有可能在不使用socket.io的情况下在节点中创build聊天应用程序

我想在nodejs中创build一个小聊天应用程序。 但是,我发现实现这个function的每一个节点都与socket.io一起使用 因为节点也是在想到推送通知的情况下创build的 如果可能,如何纯粹在节点中创build聊天应用程序? 谢谢!