webSocket.java创建连接和关闭连接

/**
     * 创建连接
     * @param session
     */
@OnOpen
    public void start(Session session) {
try {
this.session = session;
this.id = UUID.randomUUID().toString();
logger.info("连接websocket,id=" + this.id);
} catch (Exception ex) {
logger.error("WebSocket.start(Session session)方法发生错误:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
其中@OnOpen表示创建连接

/**
* 关闭连接
*/
    @OnClose
    public void end() {
try {
logger.info("关闭WebSocket,id=" + this.getId());
WebSocketPool.removeWebSocket(null, this);
try {
if (this.session != null) {
this.session.close();
}


} catch (IllegalStateException e) {
logger.info("WebSocket前端断开连接");
} catch (Exception e) {
logger.error("WebSocket关闭连接出错", e);
}
} catch (Exception ex) {
logger.error("WebSocket.end()方法发生错误:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
@OnOpen表示关闭连接
/**
     * 接收数据
     * @param message
     */
    @OnMessage
    public void incoming(String message) {
try {
//
webSocketProcesser.process(message, this);
} catch (Exception ex) {
logger.error("WebSocket.incoming(String message)方法发生错误:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
其中 @OnMessage表示的是接收数据信息。


/**
* 发送数据
* @param msg
* @throws IOException
*/
public void sendMsg(String msg) throws IOException{
try {
try {
if(this.session.isOpen()){
this.session.getBasicRemote().sendText(msg);
}
// this.session.getBasicRemote().flushBatch();
} catch (IOException e) {
this.session.close();
WebSocketPool.removeWebSocket(null, this);
e.printStackTrace();
}
} catch (Exception ex) {
logger.error("WebSocket.sendMsg(String msg)方法发生错误:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值