Netty中怎么整合WebSocket


Netty中怎么整合WebSocket,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端 ,它是先进行一次Http的连接,连接成功后转为TCP连接。现在我们来做一个WebSocket HelloWorld,意思为接收一条WebSocket客户端发送过来的消息,然后刷到所有连接上的客户端,大家都可以看到这条消息。channel处理器服务器启动客户端写一个html文件,代码如下打开浏览器如下此时我们输入一段话,发送我们可以看到所有打开的连接,都会收到相同的消息。此时服务器的日志2019-10-16 22:31:16.066 INFO 1376 — [ntLoopGroup-3-5] c.g.w.netty.websocket.WebSocketHandler : 接收到的数据helloworld
2019-10-16 22:31:33.131 INFO 1376 — [ntLoopGroup-3-5] c.g.w.netty.websocket.WebSocketHandler : 接收到的数据你好,中国如果我们关闭一个页面,服务器的日志为2019-10-16 22:36:39.390 INFO 1376 — [ntLoopGroup-3-7] c.g.w.netty.websocket.WebSocketHandler : 客户端断开,channel对应的长id为:acde48fffe001122-00000560-00000007-9ca78ac7e2b907ab-0b15dfcb
2019-10-16 22:36:39.390 INFO 1376 — [ntLoopGroup-3-7] c.g.w.netty.websocket.WebSocketHandler : 客户端断开,channel对应的短id为:0b15dfcb现在我们来做一个点对点的聊天功能。首先WebSocketServer添加空闲处理器然后我们需要增加两个实体类——消息类和聊天类首先添加一个消息的接口添加一个消息的类来实现该接口其中MsgSignFlagEnum为一个枚举类型,代码如下建立一个消息的工厂然后是聊天类我们根据动作类型来定义一个枚举在写WebSocketHandler之前,我们需要将用户Id跟Channel做一个绑定最后WebSocketHandler改写如下此处我们可以看到有两个地方注释了//接收方离线状态,此处无需处理。所以我们需要在用户上线的时候获取未签名的消息,只需要通过Controller从数据库获取就好由于我们登录用的是 香港云主机OAuth框架,在user模块添加修改网关登录,登录后可以获取用户的信息,首先添加User模块的feign做如上修改后,我们登录后可以获得用户的Id,以上省略Dao,Mapper这个时候服务端就全部完成了,我们再来看一下客户端先建立一个全局变量app.js由于这里只是聊天样例,没有处理登录功能,我们现在就以1,2来代表两个用户的id用户id为1的代码,文件名index.html用户id为2的代码,文件名receive.html这里都是通过Json来做数据的序列化的,之后会修改为ProtoBuffer来处理。现在来增加发图片的功能。首先我们需要搭建好一个fastdfs服务器,具体可以参考分布式文件系统FastDFS安装配置 以及Springboot 2.0+FastDFS开发配置 。这里只放入我们需要的Controller然后修改我们的用户id为1的前端代码意思即为使用ajax访问我们的上传文件Controller,获取上传成功后的url,将该url拼接到的标签中,当称普通聊天信息发送出去即可。用户id为2的前端代码相同。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注开发云行业资讯频道,感谢您对开发云的支持。

相关推荐: win7触摸屏怎么一键关闭

这篇文章主要介绍“win7触摸屏怎么一 香港云主机键关闭”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win7触摸屏怎么一键关闭”文章能帮助大家解决问题。win7触摸屏一键关闭方法/步骤:1.打开win7系统中的控制面…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/26 12:46
Next 07/26 12:46

相关推荐