基于netty的websocket协议实现
基于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协议实现相关推荐
- netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...
本发明涉及电子商务技术领域,尤其涉及一种基于netty和websocket协议实现web端自动打印订单服务方法. 背景技术: 电子商务是以信息网络技术为手段,以商品交换为中心的商务活动:也可理解为在互 ...
- [源码和文档分享]基于Netty和WebSocket的Web聊天室
一.背景 伴随着Internet的发展与宽带技术的普及,人们可以通过Internet交换动态数据,展示新产品,与人进行沟通并进行电子商务贸易.作为构成网站的重要组成部分,留言管理系统为人们的交流提供了 ...
- 京东到家基于netty与websocket的实践
作者:李天翼,软件开发工程师,任职于达达京东到家后台研发团队,负责订单流程的开发工作. 背景 在京东到家商家中心系统中,商家提出在 Web 端实现自动打印的需求,不需要人工盯守点击打印,直接打印小票, ...
- 简易 IM 双向通信电脑端 GUI 应用——基于 Netty、WebSocket、JavaFX 、多线程技术等
简易 IM 双向通信电脑端 GUI 应用--基于 Netty.WebSocket.JavaFX .多线程技术等 说明 运行效果 核心代码 完整代码 参考知识 说明 这是一款使用 Netty 来实现 ...
- 基于netty搭建websocket,实现消息的主动推送
基于netty搭建websocket,实现消息的主动推送 rpf_siwash https://www.jianshu.com/p/56216d1052d7 netty是由jboss提供的一款开源框架 ...
- netty案例,netty4.1中级拓展篇五《基于Netty搭建WebSocket,模仿微信聊天页面》
前言介绍 本章节我们模仿微信聊天页面,开发一个基于Netty搭建WebSocket通信案例.Netty的应用方面非常广:聊天.MQ.RPC.数据等等,在5G到来的时候更加需要大量数据传输,Netty的 ...
- netty实现WebSocket协议
文章目录 WebSocket协议 服务端开发 客户端 运行 测试全双工--netty服务端主动推送数据 定时器推送消息 维护channel关系 运行 注:更多netty相关文章请访问博主专栏: net ...
- 基于Netty的WebSocket开发网页版聊天室
1.WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebSo ...
- 基于netty 实现 ws协议的 im 组件(一)
期望达成目标: 1.消息稳定可靠 2.支持点对点消息 3.支持一对多消息 4.支持消息广播 5.支持节点扩容 6.支持服务注册发现 针对目标的思考: 1.消息稳定可靠方面: 采用netty为网络框架, ...
最新文章
- Mysql 架构及优化之-定时计划任务
- Keil中调试时Watch窗口变量不实时显示
- python计数属性类
- 课外阅读(XHTML和XML简介)
- 爬取热门网站的热榜,集中展示
- 单词短语搭配用法网站
- Centos升级安装.Net core 1.1
- L3-025 那就别担心了 (30 分)-PAT 团体程序设计天梯赛 GPLT
- 基于Vue的WebApp项目开发(五)
- 绿色商业包装材料在行业中的重要地位
- 第46届ICPC 东亚区域赛(澳门) A So I‘ll Max Out My Constructive Algor...
- 公司是船,我在船上。
- 毕业论文参考文献引用
- 自勉,持续学习,docker入门
- BDTC2014中国大数据技术大会 会议记录
- r5处理器_i5-9400F和R5-2600哪个好?R5 2600和i5 9400F性能对比测试评测
- 华为云服务-运维篇-弹性负载均衡
- 海康威视的设备怎么进行设置
- 这是一个用notepad++和masm5.0搭建的汇编环境
- 淘宝卖家辅助工具有哪些比较好用的?
热门文章
- 困难动态规划系列、经典的正则表达式和通配符匹配问题(难题)
- 黑马Python + 人工智能学习笔记
- NeurlPS 2021论文预讲会议题全公开,4大主题和25场报告等你来
- 今日arXiv精选 | 14篇EMNLP 2021最新论文
- 做 NLP 算法研究,去大公司还是创业公司?
- 新加坡科技设计大学(SUTD)招收计算机视觉方向全奖PhD学生
- pytorch基本数学运算:加法 减法 乘法 除法 指数 对数 绝对值
- mysql 在字段中计算_整数在MySQL的计算字段中
- beyond compare类似软件_BIM工作是什么?需要哪些BIM软件来完成?
- springboot不能加载https的证书文件(二)