使用 Netty 实现基于 CS 架构的 WebSocket 功能

一 点睛

WebSocket 是 HTML5 的一种协议,它可以实现浏览器与服务器全双工通信。Websocket 是应用层第七层上的一个应用层协议,它必须依赖 HTTP 协议进行一次握手,握手成功后,数据就可以直接使用 TCP 通道传输,之后就与 HTTP 无关。简单地讲,开始握手需要借助 HTTP 请求完成,之后就会升级为 WebSocket 协议。

本篇开发一个基于 WebSocket 协议的长连接通信。 

采用 Netty 作为长连接的服务端,使用浏览器作为客户端,二者交互图如下。

二 服务端

1 主程序类

package netty.websocket;

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;

public class MyNettyServerTest {
    public static void main(String[] args) {
        EventLoopGroup bossGroup = new NioEventLoopGroup();
        EventLoopGroup workerGroup = new NioEventLoopGroup(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值