Articles of 聊天

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聊天应用程序? 谢谢!

在Node.js和Socket.io聊天应用程序中parsing表情符号

我已经创build了基于这个项目的聊天应用程序,但是我现在要做的就是为表情符号parsing器。 例如,如果我写下如下的东西: What's up? 🙂 这可以parsing为“这是怎么回事? 而且,当有人访问房间时,来自该房间的所有消息也需要被parsing。 什么是最简单的方法来做到这一点? PS应用程序没有数据库。

聊天*服务器*在embedded式平台上

我目前正在build立一个聊天服务器(meebo风格)。 架构是这样的。 BitLbee over libpurple在主机B上 。 它是一个数据中心平凡的服务器。 用户通过主机A上的web服务器(如meebo)与bitlbee进行通信。 该Web服务器的后端维护聊天会话。 它只是将用户命令转换为适当的bitlbee文件并发送回主机A. 这里最重要的部分是主机A将被部署在embedded式Linux中。 我有2个问题 。 为了保持聊天会话的持久性,我正在考虑使用node.js。 由于使用持续连接创build实时应用程序要容易得多。 但是我怀疑它是否支持这样的平台。 如果我使用C而不是node.js(我没有使用任何Web服务器),我可以通过libirc与主机A的irc服务器通信 。 但是,我如何实现C中的所有Web服务器function(如会话,URL / cookie / post数据parsing等)? 另外,如果你认为我的方法是错误的或有更好的方法,请告诉我如何改善这种架构? 注意:这不是一个高容量的聊天服务器。

Js节点 – socket.io聊天修改

这是一个简单的聊天示例。 我如何修改脚本以便: 在前5s内,第一个用户可以发送消息,在接下来的5s中,用户在接下来的5s内不能发送消息(当第一个用户不能发送消息时),第二个用户可以发送消息,第一个用户得到一个div(apIdv1)来显示index.html: <script src="/socket.io/socket.io.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script> var socket = io.connect('http://localhost:8080'); // on connection to server, ask for user's name with an anonymous callback socket.on('connect', function(){ // call the server-side function 'adduser' and send one parameter (value of prompt) socket.emit('adduser', prompt("What's your name?")); }); // listener, whenever the server emits 'updatechat', this updates the […]

Socket.io私人消息,同时有多个用户在线

因此,我正在构build一个聊天应用程序,并需要帮助了解如何发送私人消息。 这是我的代码,“发送消息”。 users = {} socket.on('send message', function(data, callback){ var msg = data.trim(); console.log(users); console.log('after trimming message is: ' + msg); var name = req.params.posteruname;//reciever var msg = msg; if(name in users){ var message = new Chat({ msg : msg, sender : req.user.username, reciever : name }).save(function(err, savedMessage){ if(err) { users[name].emit('whisper', {msg: "Error, some tried […]

如何在vps中运行node.js应用程序

我用express和socket.io创build了一个node.js聊天应用http://socket.io/get-started/chat/ 我在我的本地服务器上运行成功的聊天应用程序。 我必须在我的VPS中部署它。 有什么步骤要做? 我在我的VPS中安装了node express和socket.io,并将所有内容上传到了服务器。 我在puTTY中运行命令$node index.js 。 它说在3000端口上听。 但是当我去那个url获取错误http://******.in/socket.io/socket.io.js 404(未find) 但它运行在我的本地主机非常好。 index.js var app = require('express')(); var url = require('url'); var server = require('http').Server(app); var io = require('socket.io')(server); var numUsers=0; var users={}; app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); server.listen(3000, function(){ console.log('listening on *:3000'); }); io.sockets.on('connection',function(socket){ console.log('connected'); socket.on('send message',function(data,callback){ var msg=data.trim(); if(msg.substr(0,1)=='p'){ msg=msg.substr(1); […]