基于netty的websocket协议实现

  • 背景
    • 1.启动服务端
    • 2.测试服务端和客户端效果

背景

项目中使用到了websocket,所以查阅相关资料,完成了一个基于netty的websocket的实现,这里写一下说明,相关代码在GitHub,代码很简单,可以参考一下,或者自己实现,代码来自《Netty权威指南 第2版》,
以下是我的具体代码GitHub地址:https://github.com/shenxiangwei/netty-websocket-starter

1.启动服务端

启动spring boot服务端以后,看到如下日志说明服务端启动成功。

2.测试服务端和客户端效果

打开在线websocket测试,我用的是
http://coolaf.com/tool/chattest/
输入本机的websocket ip和端口(ws://localhost:8091),点击连接如下,

然后可以在下面,输入要发给服务端的消息,

服务端收到消息,打印到了控制台,如下:

服务端如果想发送消息给客户端,可以调用工具类,我使用当前项目的controller来做示例,代码如下

@Controller
public class TestController {/*** 获取所有客户端频道id* 每个客户端对应一个频道,频道id可等同于客户端id** @return 客户端频道id*/@RequestMapping(value = "/getActiveChannel")@ResponseBodypublic List<String> getActiveChannel(){return Message.getAllChannelId();}/*** 向指定客户端发送消息** @param channelId 频道id* @param msg 消息内容*/@RequestMapping(value = "/sendMessageToClient")@ResponseBodypublic void sendMessageToClient(String channelId,String msg){Message.send(msg,channelId);}/*** 向所有客户端发送消息** @param msg 消息内容*/@RequestMapping(value = "/sendMessageToAll")@ResponseBodypublic void sendMessageToAll(String msg){Message.sendToAll(msg);}
}

调用该接口,可发送消息到客户端
首先获取客户端id

然后调用接口,输入id和消息内容,发送消息

客户端收到服务端消息

结束。

[1]: 李林锋.netty权威指南 第2版[M].电子工业出版社:北京,2015:209.

基于netty的websocket协议实现相关推荐

  1. netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...

    本发明涉及电子商务技术领域,尤其涉及一种基于netty和websocket协议实现web端自动打印订单服务方法. 背景技术: 电子商务是以信息网络技术为手段,以商品交换为中心的商务活动:也可理解为在互 ...

  2. [源码和文档分享]基于Netty和WebSocket的Web聊天室

    一.背景 伴随着Internet的发展与宽带技术的普及,人们可以通过Internet交换动态数据,展示新产品,与人进行沟通并进行电子商务贸易.作为构成网站的重要组成部分,留言管理系统为人们的交流提供了 ...

  3. 京东到家基于netty与websocket的实践

    作者:李天翼,软件开发工程师,任职于达达京东到家后台研发团队,负责订单流程的开发工作. 背景 在京东到家商家中心系统中,商家提出在 Web 端实现自动打印的需求,不需要人工盯守点击打印,直接打印小票, ...

  4. 简易 IM 双向通信电脑端 GUI 应用——基于 Netty、WebSocket、JavaFX 、多线程技术等

    简易 IM 双向通信电脑端 GUI 应用--基于 Netty.WebSocket.JavaFX .多线程技术等 说明 运行效果 核心代码 完整代码 参考知识 说明   这是一款使用 Netty 来实现 ...

  5. 基于netty搭建websocket,实现消息的主动推送

    基于netty搭建websocket,实现消息的主动推送 rpf_siwash https://www.jianshu.com/p/56216d1052d7 netty是由jboss提供的一款开源框架 ...

  6. netty案例,netty4.1中级拓展篇五《基于Netty搭建WebSocket,模仿微信聊天页面》

    前言介绍 本章节我们模仿微信聊天页面,开发一个基于Netty搭建WebSocket通信案例.Netty的应用方面非常广:聊天.MQ.RPC.数据等等,在5G到来的时候更加需要大量数据传输,Netty的 ...

  7. netty实现WebSocket协议

    文章目录 WebSocket协议 服务端开发 客户端 运行 测试全双工--netty服务端主动推送数据 定时器推送消息 维护channel关系 运行 注:更多netty相关文章请访问博主专栏: net ...

  8. 基于Netty的WebSocket开发网页版聊天室

    1.WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebSo ...

  9. 基于netty 实现 ws协议的 im 组件(一)

    期望达成目标: 1.消息稳定可靠 2.支持点对点消息 3.支持一对多消息 4.支持消息广播 5.支持节点扩容 6.支持服务注册发现 针对目标的思考: 1.消息稳定可靠方面: 采用netty为网络框架, ...

最新文章

  1. Mysql 架构及优化之-定时计划任务
  2. Keil中调试时Watch窗口变量不实时显示
  3. python计数属性类
  4. 课外阅读(XHTML和XML简介)
  5. 爬取热门网站的热榜,集中展示
  6. 单词短语搭配用法网站
  7. Centos升级安装.Net core 1.1
  8. L3-025 那就别担心了 (30 分)-PAT 团体程序设计天梯赛 GPLT
  9. 基于Vue的WebApp项目开发(五)
  10. 绿色商业包装材料在行业中的重要地位
  11. 第46届ICPC 东亚区域赛(澳门) A So I‘ll Max Out My Constructive Algor...
  12. 公司是船,我在船上。
  13. 毕业论文参考文献引用
  14. 自勉,持续学习,docker入门
  15. BDTC2014中国大数据技术大会 会议记录
  16. r5处理器_i5-9400F和R5-2600哪个好?R5 2600和i5 9400F性能对比测试评测
  17. 华为云服务-运维篇-弹性负载均衡
  18. 海康威视的设备怎么进行设置
  19. 这是一个用notepad++和masm5.0搭建的汇编环境
  20. 淘宝卖家辅助工具有哪些比较好用的?

热门文章

  1. 困难动态规划系列、经典的正则表达式和通配符匹配问题(难题)
  2. 黑马Python + 人工智能学习笔记
  3. NeurlPS 2021论文预讲会议题全公开,4大主题和25场报告等你来
  4. 今日arXiv精选 | 14篇EMNLP 2021最新论文
  5. 做 NLP 算法研究,去大公司还是创业公司?
  6. 新加坡科技设计大学(SUTD)招收计算机视觉方向全奖PhD学生
  7. pytorch基本数学运算:加法 减法 乘法 除法 指数 对数 绝对值
  8. mysql 在字段中计算_整数在MySQL的计算字段中
  9. beyond compare类似软件_BIM工作是什么?需要哪些BIM软件来完成?
  10. springboot不能加载https的证书文件(二)