`

[简略记录]使用Netty过程遇到的一个傻X错误——异常处理

阅读更多
最近基于netty写了点服务器端的程序,算是第一次比较正式的使用吧。在测试过程发现了一个问题,用客户端程序连服务器无响应,而服务器端的netty也没任何错误日志输出。搞到我有点茫然,不知道是服务器端还是客户端出错了?

想了一些时间,决定优先检查一下服务器端的程序。忽然想起netty里面毕竟是多线程模型的,会不会是非主线程里面产生了异常呢?于是乎,设置了Thread.setDefaultUncaughtExceptionHandler(XXX),再次测试程序,结果依然相同,两端均没报错。

有点无奈的情况下,只好在messageReceive(xxx)方法的内部代码里面试试增加try catch了,这下好了,终于看到有异常了,确实是服务器端程序逻辑有问题。

老问题虽然解决了,但又有个新问题,为啥Thread.setDefaultUncaughtExceptionHandler(XXX)没起作用呢?想了好些时间没能搞明白!

稍微放了放,休息一番之后,突然想起了netty内部的exceptionCaught(xxx)方法,从这里入手似乎才是正确的做法,netty框架还是比较友好的处理了异常信息的,最后会传递到exceptionCaught方法那里去。

好吧,先这么简略的记录一下。

发布在:http://auzll.iteye.com
0
0
分享到:
评论

相关推荐

    Netty 框架学习 —— 第一个 Netty 应用(csdn)————程序.pdf

    在本篇关于“Netty框架学习——第一个Netty应用”的文章中,我们将深入理解如何使用Netty构建一个简单的Echo服务器和客户端。Netty是一个高性能、异步事件驱动的网络应用程序框架,广泛应用于Java领域的服务器开发。...

    使用netty进行rtsp服务端开发.zip

    Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何使用Netty进行RTSP(Real Time Streaming Protocol)服务端的开发,以及如何处理H264...

    Netty3.x 源码解析

    Netty是一个高性能的异步事件驱动的网络应用程序框架,它使得构建网络应用变得简单。本系列文章是对Netty3.x版本源码的详细解读,旨在帮助读者深入理解Netty内部的工作机制以及其设计理念。Netty源码阅读的目的通常...

    使用netty3建立的JT809处理基本工程

    在本文中,我们将探讨如何使用Netty 3版本来构建一个处理JT809协议的基础工程。 JT809是一种专门用于交通监控和管理的通信协议,主要在中国的智能交通系统中使用。它涵盖了车辆定位、轨迹回放、报警信息传输等功能...

    NettyAndroid,Netty在Android中的使用

    Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端:https://azhon.blog.csdn.net/article/details/100569489 Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的...

    Android使用Netty网络框架实践(客户端、服务端)

    Netty是一个异步事件驱动的网络应用程序框架,它为高性能、高可用性的网络服务器和客户端提供了一种简单易用的方式。本实践将详细介绍如何在Android环境中使用Netty进行客户端和服务端的通信。 首先,我们需要理解...

    使用Netty解决TCP粘包和拆包问题过程详解

    下面是一个使用Netty解决TCP粘包和拆包问题的示例代码: ```java public class PrintServer { public void bind(int port) throws Exception { // 配置服务端的NIO线程组 EventLoopGroup bossGroup = new ...

    netty实现mqtt服务端,代替emqx

    netty实现mqtt服务端,代替emqx

    Android使用netty

    本项目以一个完整的Android端与服务器端的Demo为例,详细讲解如何在Android上使用Netty进行网络通信。 首先,理解Netty的核心概念至关重要。Netty基于Channel、EventLoop和Pipeline等组件构建。Channel是网络连接的...

    Netty一个端口支持tcp和websocket

    要在 Netty 中同时支持 TCP 和 WebSocket,我们需要创建两个不同的 ChannelHandler:一个处理 TCP 连接,另一个处理 WebSocket 连接。这两者可以通过共享同一端口来实现。以下是实现这个功能的关键步骤: 1. **配置...

    NettyDemo Netty使用实例,对象传递调用

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨Netty在实际应用中的实例——对象传递调用,以及如何解决TCP粘包问题。同时,我们还...

    resteasy使用netty

    而Netty则是一个异步事件驱动的网络应用框架,适用于高并发、低延迟的场景,广泛应用于服务器端编程。 在传统Web应用中,我们通常会使用Servlet容器(如Tomcat、Jetty等)来托管我们的服务。这些容器会处理HTTP请求...

    使用Netty4实现多线程的消息分发

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何利用 Netty 4 实现多线程的消息分发,这对于构建分布式系统、游戏服务器或者...

    Netty 框架学习 —— 编解码器框架(csdn)————程序.pdf

    Netty 是一个高性能、异步事件驱动的网络应用框架,常用于开发高效的网络服务器和客户端。在Netty中,编解码器是处理数据转换的关键组件,它们将原始的字节流转换为应用程序可理解的消息格式,反之亦然。本文将深入...

    使用netty实现TCP长链接消息写入kafka以及kafka批量消费数据

    在Netty中,我们可以创建一个ServerBootstrap实例来启动服务器,并配置BossGroup和WorkerGroup来处理连接接受和数据读写。通过ByteBuf对象,Netty能够高效地处理网络I/O,支持零拷贝等优化技术。 2. **消息编码与...

    使用 netty实现一个简单的聊天室

    在这个“使用 Netty 实现一个简单的聊天室”的项目中,我们将深入理解 Netty 的核心概念和组件,以及如何利用它们构建一个实时交互的聊天应用。 1. **Netty 基本概念** - **BossGroup 和 WorkerGroup**:在 Netty ...

    springboot+netty 实现简单的一对一聊天

    在本文中,我们将深入探讨如何使用Spring Boot和Netty实现一个简单的一对一聊天应用程序。Spring Boot是Java领域中广泛使用的微服务框架,它简化了配置并提供了快速启动的应用程序开发体验。Netty则是一个高性能、...

    厉害了,Netty 轻松实现文件上传!(csdn)————程序.pdf

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,常用于开发高并发、低延迟的网络服务,如服务器和客户端通信。在本文中,我们将探讨如何使用 Netty 实现文件上传功能,同时了解 Netty 的"零拷贝"技术。 首先...

    netty-all-5.0.0.Alpha3 完整pom.xml配置

    2. **版本兼容性**:虽然这是Netty的一个较早版本,但仍然需要注意与其他库的兼容性问题,例如,如果你的其他依赖使用了不兼容的Netty版本,可能会导致运行时错误。 3. **API变动**:从Netty 4.x到5.x存在较大的API...

Global site tag (gtag.js) - Google Analytics