node . js,套接字.Io:检查用户是否在线或离线
NODE.js & socket.io: how to check whether user is online/offline?
我正在制作一个聊天应用程序,我想添加一个选项来检查用户是在线还是离线。
假设我有一个名称数组(它是将来数据库的当前替代品),表示为' chat中曾经存在的所有用户'。
var users = {user1,user2,user3,...usern};
同时,假设我有html表单用于输入用户名
<p>Enter your username</p>
<p id="nickError"></p>
<form id="setNick">
<input size="35" id="nickname" maxlength="25"></input>
<button>Chat!</button>
</form>
我有逻辑和代码来检查输入区域的名称是否在用户数组中。此外,我有一个基本的聊天,你可以在其中进行全局或私下交谈。
我的server.js部分:
io.on('connection', function(socket){
socket.on('new user',function(data,callback){
if (data in users)
{
callback(false);
} else{
callback(true);
socket.nickname = data;
users[socket.nickname] = socket;
updateNicknames();
io.emit('user joined', data);
}
});
};
我想做一个函数,命名为updateNicknames()
,它将更新用户的状态,所以如果一个人的昵称是在我的用户'数据库'连接,他的状态应该是在线的,反之亦然。
在disconnect
事件上从数组中删除用户
相关文章:
- 如何使用jquery确定用户是否年满18岁
- javascript跨浏览器确定用户是否滚动到页面底部
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- 如何检查用户是否使用$routeChangeStart登录angularjs
- React Native当前是否支持访问用户'的通讯簿
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 询问用户是否要打开地理位置
- 检测用户是否具有打印功能
- 检查用户是否在Orchard CMS中获得授权
- HTML.如何检查用户是否在表单中输入了文本
- 如何检查用户是否开始关注
- 检查用户是否正在访问纯根url
- 检测用户是否有从其重定向的意图's页
- 如何发现用户是否使用jQuery滚动到HTML容器的末尾
- 使用jQuery检测用户是否退出全屏视频
- 检查用户是否具有角色分析云代码
- 使用boostrap检查元素是否用户可见