首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

运用 netty 实现html5的web socket

2012-09-06 
使用 netty 实现html5的web socket?web socket 是html5的一个新特性,使用它就可以很容易的实现浏览器和服

使用 netty 实现html5的web socket

?web socket 是html5的一个新特性,使用它就可以很容易的实现浏览器和服务器的socket通信,相比较http的3次握手和较为冗余的head信息,web socket只要1次握手过程并没有head数据
? 运用 netty 实现html5的web socket

今天研究了下 java 版web socket的实现,采用了netty。

??????? netty的官方站点在 : http://netty.io/,事实上这个就是jboss netty的新站点。

??????? 在netty的站点 http://netty.io/docs/ 上根据web socket的例子。

??????? 启动了web socket server,通过firebug 看到如下切换协议的请求。

?


运用 netty 实现html5的web socket
?
运用 netty 实现html5的web socket

??? 这一步就是? new WebSocket("ws://localhost:8080/websocket"); 的过程,netty handler接收到该请求之后,执行一次握手操作。

?? 运用 netty 实现html5的web socket
运用 netty 实现html5的web socket
?
??
??? 这时候服务器和浏览器就建立了一个socket连接,服务器会保持这个连接的通道。

??? 另外netty还支持消息的广播,这里需要引入一个 group的概念。

 ChannelGroup recipients = new DefaultChannelGroup(); recipients.add(channelA); recipients.add(channelB); .. recipients.write(ChannelBuffers.copiedBuffer(         "Service will shut down for maintenance in 5 minutes.",         CharsetUtil.UTF_8));

通过这种方式,消息就会分发到指定的group了。


??? 具体的代码可以参考: svn://www.oksvn.com/javaStu/html5demo

热点排行