Noark入门之WebSocket

Stella981
• 阅读 573

支持WebSocket吗?

你还在为H5的前端链接头疼吗?你还在了解WebSocket的握手协议吗?WebSocket有没有粘包概念啊?

之前忘了说了,很不好意思,Noark在原来Tcp端口上实现了WebSocket协议的判定与处理,实现了Socket与WebSocket共存的效果

还记得Socket链接服务器那一串暗号吗?那之前是为Flash游戏留的安全沙箱策略文件准备的,分析了一下WebSocket判定也是可以实现的

天生的WebSocket

想象一下,我司正在开发U3D手游,协议Protobuf,这时候老板招了一个H5的,让我把他们服务器也带一下,实现需求与U3D一样一样的

你猜我会复制一份服务器代码改为为H5Server吗?不,我是直接把protobuf文件丢给他了,一行代码不用改的等着H5对接...

具体实现请参考

xyz.noark.network.InitializeDecoder.decode(ChannelHandlerContext, ByteBuf, List<Object>)

WebSocket与Socket的对接区别,就是在封包上少一个包长,其他长得一样一样的...

2018-09-06 17:12:32.620 [nioEventLoopGroup-4-1] INFO NettyServerHandler.java:48 - 发现客户端链接,channel=[id: 0x41f4f6c6, L:/192.168.50.40:52113 - R:/192.168.50.40:53442]
2018-09-06 17:12:32.620 [nioEventLoopGroup-4-1] DEBUG WebsocketInitializeHandler.java:49 - WebSocket链接...

一个服务器,一个端口,两种协议的客户端...

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java 实现websocket
最近了解了下websocket和socket这个东西,说不得不来说下为何要使用WebSocket,和为何不用http。为何需要WebSocket?HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP协议无法实现服务器主
Easter79 Easter79
2年前
tomcat8+websocket演示
tomcat8真正支持jsr356(包含对websocket的支持),tomcat7部分版本的websocket实现不兼容jsr356。需要注意websocket与浏览器的兼容问题,有些早期版本的浏览器支持旧版本的websocket协议,可能会与新版本的websocket不兼容。博主采用"chrome 版本33.0.1750.117m"测试。
Wesley13 Wesley13
2年前
java 实现websocket的三种方式
Java中实现websocket常见有以下三种方式:使用tomcat的websocket实现,需要tomcat7.x,JEE7的支持。使用spring的websocket,spring与websocket整合需要spring4.x,并且使用了socketjs,对不支持websocket的浏览器可以模拟websocket使用。实现WebSocke
Wesley13 Wesley13
2年前
Java WebSocket
本示例的目的,就是通过webSocket向客户端(浏览器端)发送消息.一、什么是WebSocket  WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(fullduplex)通信——允许服务器主动发送信息给客户端。WebSocket通信协议于2011年被IETF(https://www.oschina.n
Stella981 Stella981
2年前
Golang如何使用websocket
下载websocket包$gogetgolang.org/x/net/websocket如果下载失败,可能是被墙了。packagegolang.org/x/net/websocket:unrecognizedimportpath"golang.org/x/net/websocket"(httpsfe
Stella981 Stella981
2年前
Spring Websocket 中文文档 (spring5)
这部分参考文档包括对Servlet堆栈的支持,包括原始WebSocket交互的WebSocket消息传递,通过SockJS的WebSocket仿真,以及通过STOMP作为WebSocket上的子协议的pubsub消息传递。4.1。介绍WebSocket协议RFC6455(https://www.oschina.net/action/G
Easter79 Easter79
2年前
SpringBoot2.0集成WebSocket,实现后台向前端推送信息
什么是WebSocket?!(https://oscimg.oschina.net/oscnet/80b95af702e46d93ceb60764dfb680b1f49.png)WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(fullduplex)通信——允许服务器主动发送信息给客
Stella981 Stella981
2年前
SpringBoot2.0集成WebSocket,实现后台向前端推送信息
什么是WebSocket?!(https://oscimg.oschina.net/oscnet/80b95af702e46d93ceb60764dfb680b1f49.png)WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(fullduplex)通信——允许服务器主动发送信息给客
Stella981 Stella981
2年前
KBEngine使用Nginx反向代理支持WSS协议
KBEngine使用Nginx反向代理支持WSS协议目前很多H5的游戏需要用https和wss协议,特别是腾讯微信小游戏必须走https协议,而https协议的网站必须用websocket的wss协议才能实现连接.具体Nginx怎么实现的websocket就不再具体介绍,网络上有很多相关的文章.
天翼云CDN全站加速产品对websocket协议的支持
天翼云全站加速产品支持对webscoket协议和http/https协议可同时加速,即同一个域名可以既有http/https协议,又有websocket加速,您无需拆分域名,使用全站加速产品就可以实现对域名下http/https协议的应用和websocket协议的应用同时加速。全站加速节点会自动识别客户端与全站加速边缘节点通信使用的协议,自动切换协议。通常情况下,websocket协议的应用多为动态业务,对实时性要求很高,全站加速的动态探测选路能力可以为websocket应用选择最快的回源路径,提升websocket业务的访问效果。