根据我们之前的介绍,websocket是HTML5中新增的一个协议, 该协议可以实现服务器与客户端之间全双工通信。 websocket在实时通信领域运用的比较多,比如社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的应用、在线教育、智能家居等需要高实时的场景。

在这些领域,我们大多需要通过websocket判断用户是否在线,好方便我们进行下一步的操作。

那么websocket如何判断用户是否在线,如何实时获取用户在线列表?

接下来就以GoEasy提供的websocket服务为例为大家讲解一下websocket判断用户是否在线是如何实现的。

一、初始化客户端在线状态

要监听一个的客户端在线状态,必须为该客户端指定userId,否则无法获取客户端在线状态。

var goEasy = new GoEasy({

host:'hangzhou.goeasy.io',//应用所在的区域地址: 【hangzhou.goeasy.io |singapore.goeasy.io】

appkey: "my_appkey",

userId: "用户唯一标识,如 user-001", //必须指定,否则无法实现客户端上下线监听功能

userData: "用户的附加信息,比如性别,年龄" //更多的用户信息,其它已监听上下线信息的用户,收到该用户上线信息里会包含此部分内容

});

二、监听客户端上下线状态变化

客户端上下线有四种actions:

online: 上线,客户端已经订阅了channel,

websocket如何区分用户_实现:websocket判断用户是否在线相关推荐

  1. websocket 连接本地端口_聊聊 WebSocket,还有 HTTP

    还记得曾经风靡一时的 QQ 秀聊天室吗?那时,还在上初.高中的我们,QQ 是最常用的聊天交友工具:而 QQ 秀聊天室的出现打破了只能按条件查找好友的局限性,大家可以随意进入聊天室房间,进行在线聊天.怀 ...

  2. java判断当前浏览器类型_[Java教程]判断用户请求时使用的浏览器类型

    [Java教程]判断用户请求时使用的浏览器类型 0 2016-09-01 15:00:04 在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如 ...

  3. python输入生日判断星座_用java编一个程序能通过用户输入的生日判断用户的星座。请大神们给点提示或者思路吧。规定不能自定义方法...

    既然不允许用其他的方式,那就直接上代码吧.... public static void main(String[] args) { int point = -1; String[] str = {&q ...

  4. 所属的用户_关于chmod(变更用户对此文件的相关权限)超详细说明,小白秒懂

    Linux下一切都是文件,通过ls -l或者别名ll可以查看文件的详细信息: drwxr-xr-x 第一个字符d指的是目录文件; 第2-4个字符rwx: 指的是u(user,owner)对这个文件具有 ...

  5. mysql s授权所有用户_批量获取mysql用户权限的方法

    -- 服务器级别的权限 select  a.GRANTEE,GROUP_CONCAT(a.PRIVILEGE_TYPE), concat("grant ",GROUP_CONCAT ...

  6. mysql如何添加用户_如何创建新用户和授予MySQL中的权限

    关于MySQL MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据. 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项. 如何创建新用户 在MyS ...

  7. mysql把用户权限授予新用户_如何创建新用户和授予MySQL中的权限

    什么是红色表示 用户需要输入或定制的生产线将在红色在本教程! 其余的应该主要是复制和粘贴. 关于MySQL MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据. 它有多种选项来授予 ...

  8. Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)

    1.退出登录 注册界面跳转到登陆界面:templates/register.html 前端注册界面 {# 跳转到登陆界面 #}<a href="{% url 'users:login' ...

  9. websocket如何区分用户_WebSocket区分不同客户端两种方法(HttpSession和@PathParam)

    介绍 在使用websocket来制作多人即时聊天工具的时候,难免会遇到一个问题,如何区分不同的客户端.想要解决这个问题就等于是要解决这样一个问题:如何把当前登录用户的userId传给服务端呢?因为不同 ...

最新文章

  1. Oracle数据库安装响应文件,1.2.6 步骤6:配置应答文件,然后运行安装程序(2)...
  2. python简单代码运行_python代码如何运行
  3. 使用Visio Viewer载入数据库中的Visio图
  4. 计算机盐城工学院和常熟理工,【选专业】这6所二本院校的专业,就业不输一本学生!...
  5. 动漫App下载单页界面HTML源码带弹幕
  6. 智睿学校网上评课系统 v8.8.4源码
  7. 改时区_太平洋奇葩小国:为了虚名改时区,全国仅一个城市,至今仍是部落
  8. IDEA配置码云Gitee的使用详解
  9. Boxes in a Line UVA - 12657 (双向链表)
  10. 数据库的几个基本概念
  11. CloudStack + KVM + HA
  12. 安卓rom制作教程_刹那 刷机教程201三星S10 N10等系列 韩版国行安卓9升级10 详细步骤...
  13. 英特尔主板快捷启动键_电脑小匠电脑硬件知识科普——主板接口篇
  14. Unity编程软件介绍
  15. 后缀数组(Suffix Array )
  16. 三层交换技术..使用三层交换技术实现VLAN间通信
  17. UEFI开发探索11 – 鼠标前传
  18. 中国光学镜头行业营销趋势及盈利前景预测报告(新版)2022-2027年
  19. css——background、border、margin、float、content、blur(图片模糊)、user-select:none(禁用用户选择复制),border-image
  20. 神经网络算法处理器设计,神经网络是机器算法吗

热门文章

  1. 路由器免刷固件连接校园网(蝴蝶客户端)
  2. 科研工具-Citespace和vosviewer文献计量及其可视化
  3. 小米手环4自定义太空人表盘
  4. FreeRTOS 解析
  5. 一步一步教你如何在AndroidStudio查看Android源码(AOSP源码)
  6. Foxmail发送邮件乱码的临时解决办法
  7. Foxmail邮箱使用方法
  8. JAVA第七章-- 面向对象核心技术总结
  9. netconf ssh
  10. 跑步选什么耳机比较好、最好用的五款跑步无线耳机推荐