Netty WebSocket长连接

本文介绍了在物业系统中应用WebSocket长连接的业务场景,通过Netty实现WebSocket的后台Java代码,包括初始化启动类、服务类、保存Channel类、业务逻辑处理类以及推送逻辑触发类。特别提醒在测试时,客户端连接地址需要注意使用localhost和端口后缀。
摘要由CSDN通过智能技术生成

Netty WebSocket长连接

## websocket客户端在线测试工具链接
注意点:websocket客户端在线测试工具,如你要测本机服务端的长连接,切记“ws://localhost:8888/ajaxchattest” 不要写本机的IP直接写localhost即可,另端口后面要加/ajaxchattest,否则总是报连接服务断开,我就是在此处踩了坑!!!

本人使用长连接的使用场景

业务场景:由于本人公司是做物业系统的,在业主的APP程序中创建访客信息,那么需求是则在物业平台系统中能自动弹出创建该访客的信息,所以前端WEB端要和后台服务端保存长链接,当访客添加信息后后台将此信息主动推给前端并展示!

Netty WebSocket Maven依赖

        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
            <version>3.10.6.Final</version>
        </dependency>

Netty WebSocket 后台 Java代码

以下代码就可以实现websocket长连接功能

webscoket初始化启动类

/**
 * <desc>
 * webscoket初始化启动类.
 * </desc>
 *
 * @createDate 2018/7/19
 */
@RestController
public class WebsocketInitializationService {

    @Autowired
    WebSocketServer webSocketServer;

    /**
     * <desc>
     *      初始化
     * </desc>
     *
     * @author Juguang.S
     * @createDate 2018/07/19
     */
    @PostConstruct
    public void polling() throws Exception {
        webSocketServer.run();
    }
}

websocket长连接服务类

参数:
PROPERTY_VISITOR_PUSH_MESSAGE_URL 为服务端所部署服务器的IP
PROPERTY_VISITOR_PUSH_MESSAGE_PORT 为服务端所部署服务器的端口

/**
 * <desc>
 * websocket长连接服务类.
 * </desc>
 *
 * @createDate 2018/7/5
 */

@Service
public class WebSocketServer {

    @Value("${" + PlatformConstants.PROPERTY_VISITOR_PUSH_MESSAGE_URL + "}")
    private  String PROPERTY_VISITOR_PUSH_MESSAGE_URL;

    @Value("${" + PlatformConstants.PROPERTY_VISITOR_PUSH_MESSAGE_PORT + "}")
    private  String PROPERTY_VISITOR_PUSH_MESSAGE_PORT;

    private static Logger LOG = Logger.getLogger(WebSocketServer.class);
    static final boolean SSL = System.getPro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值