39.客户端与服务端断开事件handler
客户端与服务端断开有两种情况:
1.正常断开,客户端调用了ctx.channel().close();
2.异常断开,比如客户端挂掉了
服务端定义handler来处理连接断开情况下要进行的逻辑操作:
package com.xkj.server.handler;import com.xkj.server.session.Session;
import com.xkj.server.session.SessionFactory;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import lombok.extern.slf4j.Slf4j;@Slf4j
@ChannelHandler.Sharable
public class QuitHandler extends ChannelInboundHandlerAdapter {@Overridepublic void channelInactive(ChannelHandlerContext ctx) throws Exception {Session session = SessionFactory.getSession();session.unbind(ctx.channel());log.debug("{}已经断开了", ctx.channel());}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {Session session = SessionFactory.getSession();session.unbind(ctx.channel());log.debug("{}已经异常断开了,异常是{}", ctx.channel(), cause.getMessage());}
}
相关文章:
39.客户端与服务端断开事件handler
客户端与服务端断开有两种情况: 1.正常断开,客户端调用了ctx.channel().close(); 2.异常断开,比如客户端挂掉了 服务端定义handler来处理连接断开情况下要进行的逻辑操作: package com.xkj.server.handler;import com.xkj.ser…...
SSL 之 http只用crt格式证书完成SSL单向认证通信
背景 远程调用第三方服务时,之前都是双向认证,服务器提供jks格式的keystore证书,客户端配置好即可。 今天遇到个奇葩需求,服务器只给根公钥证书(root.crt),还是第三方合法证书,要求单向认证,客户…...
实训作业-人事资源管理系统
er图 模型图 DDL与DML DROP TABLE IF EXISTS departments; CREATE TABLE departments (department_id int(11) NOT NULL AUTO_INCREMENT COMMENT 部门ID,department_name varchar(100) NOT NULL COMMENT 部门名称,PRIMARY KEY (department_id),UNIQUE KEY department_name (de…...
Flink 资源静态调度
本内容是根据 Flink 1.18.0-Scala_2.12 版本源码梳理而来。本文主要讲述任务提交时,为 Task 分配资源的过程。 以下是具体步骤讲解: TaskManager 资源注册 TaskManager 在启动时,会向 ResourceManager 注册资源。ResourceManager 会将 Tas…...
upload-labs第十三关教程
upload-labs第十三关教程 第十三关一、源代码分析代码审计 二、绕过分析1)0x00绕过a.上传eval.pngb.使用burpsuite进行拦截修改之前:修改之后:进入hex模块: c.放包上传成功: d.使用中国蚁剑进行连接 2)%00绕…...
基于springboot实现宠物商城网站管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现宠物商城网站管理系统演示 摘要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,商品信息因为其管理内容繁杂ÿ…...
Fragment与ViewModel(MVVM架构)
简介 在Android应用开发中,Fragment和ViewModel是两个非常重要的概念,它们分别属于架构组件库的一部分,旨在帮助开发者构建更加模块化、健壮且易维护的应用。 Fragment Fragment是Android系统提供的一种可重用的UI组件,它能够作为…...
Linux开发讲课16--- 【内存管理】页表映射基础知识2
ARM32页表和Linux页表那些奇葩的地方 ARM32硬件页表中PGD页目录项PGD是从20位开始的,但是为何头文件定义是从21位开始? 历史原因:Linux最初是基于x86的体系结构设计的,因此Linux内核很多的头文件的定义都是基于x86的,…...
uniapp地图点击获取位置
主页面 <view class"right-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view><image src"../../static/map.png" mode""style"width: 32rpx; height: 32rpx…...
Unity程序开发:1.基本概念及操作
1. 基本概念与操作 Unity 是一个功能强大的游戏开发引擎,广泛用于创建2D和3D游戏。要开始开发游戏,了解游戏对象和组件的基本概念是必不可少的。 游戏对象与组件 什么是游戏对象(GameObject) 在 Unity 中,游戏对象…...
前端新手小白的第一个AI全栈项目---AI聊天室
前言 ok,大家好。- ̗̀(๑ᵔ⌔ᵔ๑)最近也是想做自己的第一个前后端分离的项目,刚好最近学了一点AI接口的实现。想着用接口做一个自己的ai聊天室并且尝试一下全栈式开发。中间真的解决了很多问题,也是成功之后也是想要将实现过程分享一下&a…...
金升阳电源被制裁,广州顶源电源模块可以完美替换
广州顶源电子科技股份有限公司,座落于国家高新技术开发区---广州科学城,是一家集研发、生产、销售及服务于一体的DC-DC,AC-DC电源的生产厂家。 公司通过了IATF16949汽车认证及ISO9001:2015质量管理体系认证。拥有专家级研发团队,产品研发经过…...
《数据赋能:一本书讲透数字化营销与运营》—— 从正确的数据观开始
基于数据打通的“全链路”营销是当下的“时髦”,应用它的前提是什么?深度营销和运营的关键数据如何获得?如何利用数据进行更精准的营销投放?如何利用数据优化投放的效果?如何促进消费者的转化,以及激活留存…...
JDK 24:Leyden
Project Leyden 发布了其首个早期版本(24-leyden2-8 2024/6/20)。初始版本专注于缩短 Java 应用程序的启动时间。 1.特点 提前编译 Java 方法,以便在应用程序在生产运行中启动时立即本地执行它们;提前解析常量池条目可以让 AOT 编译器生成更好的代码&a…...
对于图片转3d人脸方面的研究
1.一个开源的可以运行的项目(face3d/README.md at master yfeng95/face3d GitHub) 在配置好环境后,让我们一个一个py文件运行它(我将给出中文注释) 1)1_pipeline.py 将一个3d头像的mat文件转换为jpg…...
.NET C# 八股文 代码阅读(一)
.NET C# 八股文 代码阅读(一) 目录 .NET C# 八股文 代码阅读(一)1 两种获10000个数的方式,哪种效率更高?为什么?2 请说出以下代码AB谁先打印,AB打印的值分别为多少?3 关于…...
C++用Crow实现一个简单的Web程序,实现动态页面,向页面中输入数据并展示
Crow是一个轻量级、快速的C微框架,用于构建Web应用程序和RESTful API。 将处理前端页面的POST请求以添加数据的逻辑添加到 /submit 路由中,并添加了一个新的路由 / 用于返回包含输入框、按钮和表格的完整页面。当用户向表格添加数据时,JavaS…...
南信大尹志聪教授为一作在顶级综合性期刊《Natl. Sci. Rev.》发文:传统梅雨停摆,江南缘何不再多烟雨?
文章简介 论文名称:Traditional Meiyu–Baiu has been suspended by global warming 第一作者及单位:尹志聪(教授|南京信息工程大学大气科学学院) 通讯作者及单位:王会军(院士|南京信息工程大学大气科学学院) 文章发…...
程序员如何用ChatGPT解决常见编程问题:实例解析
引言 在现代编程的世界中,技术进步日新月异,程序员们面临着各种各样的挑战和问题。解决这些问题的过程中,找到合适的工具至关重要。ChatGPT作为一种先进的人工智能语言模型,能够帮助程序员迅速、高效地解决常见的编程问题。本文将…...
初识 SpringMVC,运行配置第一个Spring MVC 程序
1. 初识 SpringMVC,运行配置第一个Spring MVC 程序 文章目录 1. 初识 SpringMVC,运行配置第一个Spring MVC 程序1.1 什么是 MVC 2. Spring MVC 概述2.1 Spring MVC 的作用: 3. 运行配置第一个 Spring MVC 程序3.1 第一步:创建Mave…...
终极Element Plus Admin指南:快速构建企业级后台管理系统的完整解决方案
终极Element Plus Admin指南:快速构建企业级后台管理系统的完整解决方案 【免费下载链接】element-plus-admin 基于vitetselementPlus 项目地址: https://gitcode.com/gh_mirrors/el/element-plus-admin 你是否正在寻找一个能够快速搭建企业级后台管理系统的…...
Next.js全栈开发模板:PostgreSQL+NextAuth+Tailwind一站式解决方案
1. 项目概述:一个现代化的全栈开发起点如果你最近在寻找一个能快速启动全栈Web应用开发的模板,那么由Vercel官方维护的这个“Next.js Postgres NextAuth Tailwind CSS”模板,很可能就是你一直在找的那个“瑞士军刀”。这不仅仅是一个简单的…...
NeumAI向量检索平台:构建生产级RAG应用的端到端Pipeline实践
1. 项目概述:从“Neum”到“AI”,一个向量检索系统的诞生最近在折腾RAG(检索增强生成)应用,发现向量检索这块的性能和成本,简直是决定项目成败的“命门”。自己从零开始搭一套,从数据清洗、向量…...
一键安装器设计指南:从Shell脚本到自动化部署架构
1. 项目概述与核心价值最近在折腾一些自动化部署和脚本管理时,发现了一个挺有意思的项目:viomat7064/openclaw-installer。乍一看这个仓库名,你可能会联想到某种“爪子”工具,其实它本质上是一个针对特定开源软件或服务的一键式安…...
长期使用taotoken聚合api在项目中的稳定性主观体验分享
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken聚合API在项目中的稳定性主观体验分享 1. 项目背景与接入简述 我们团队负责一个面向内部的知识管理与智能问答系…...
图像识别钻卡工况气囊点爆方法【附方案】
✨ 长期致力于钻卡工况、约束系统、图像识别、控制策略研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)双阶段融合点爆判别机制: 设计一种…...
TCRT5000循迹小车总跑偏?一份给STM32新手的硬件调试与软件滤波避坑指南
TCRT5000循迹小车调试实战:从硬件校准到软件滤波的完整解决方案 当你的STM32循迹小车在赛道上左右摇摆、频繁跑偏时,问题往往不只是代码逻辑那么简单。作为嵌入式开发新手,你可能已经尝试过调整PID参数、修改转向算法,但效果依然不…...
OpenHarmony移植实战:解决ACE组件编译依赖冲突的通用方案
1. OpenHarmony移植中的ACE组件依赖问题解析 最近在将OpenHarmony移植到全志T113平台时,遇到了一个典型问题:添加ACE组件后编译报错,提示找不到海思芯片相关的硬件抽象层文件。这个问题其实反映了OpenHarmony生态发展过程中的一个普遍现象—…...
商家怎么弄小程序店铺
去年10月有个做茶叶生意的武夷山商家找到我,说要弄个小程序店铺。我问他需求是什么,他说"就是能让客户在线买茶"。听起来简单,但实际做下来,整个过程走了不少弯路。我把时间线记录下来,给要弄小程序店铺的商…...
龙芯2k0300 - 智能车走马观碑组VL53L0X驱动移植
---------------------------------------------------------------------------------------------------------------------------- 开发板 :久久派开发板eMMC :8GBDDR4 :512MBu-boot :u-boot 2022.04linux :6.12roo…...
