最近基于netty写了点服务器端的程序,算是第一次比较正式的使用吧。在测试过程发现了一个问题,用客户端程序连服务器无响应,而服务器端的netty也没任何错误日志输出。搞到我有点茫然,不知道是服务器端还是客户端出错了?
想了一些时间,决定优先检查一下服务器端的程序。忽然想起netty里面毕竟是多线程模型的,会不会是非主线程里面产生了异常呢?于是乎,设置了Thread.setDefaultUncaughtExceptionHandler(XXX),再次测试程序,结果依然相同,两端均没报错。
有点无奈的情况下,只好在messageReceive(xxx)方法的内部代码里面试试增加try catch了,这下好了,终于看到有异常了,确实是服务器端程序逻辑有问题。
老问题虽然解决了,但又有个新问题,为啥Thread.setDefaultUncaughtExceptionHandler(XXX)没起作用呢?想了好些时间没能搞明白!
稍微放了放,休息一番之后,突然想起了netty内部的exceptionCaught(xxx)方法,从这里入手似乎才是正确的做法,netty框架还是比较友好的处理了异常信息的,最后会传递到exceptionCaught方法那里去。
好吧,先这么简略的记录一下。
发布在:
http://auzll.iteye.com
分享到:
相关推荐
在本篇关于“Netty框架学习——第一个Netty应用”的文章中,我们将深入理解如何使用Netty构建一个简单的Echo服务器和客户端。Netty是一个高性能、异步事件驱动的网络应用程序框架,广泛应用于Java领域的服务器开发。...
Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何使用Netty进行RTSP(Real Time Streaming Protocol)服务端的开发,以及如何处理H264...
Netty是一个高性能的异步事件驱动的网络应用程序框架,它使得构建网络应用变得简单。本系列文章是对Netty3.x版本源码的详细解读,旨在帮助读者深入理解Netty内部的工作机制以及其设计理念。Netty源码阅读的目的通常...
在本文中,我们将探讨如何使用Netty 3版本来构建一个处理JT809协议的基础工程。 JT809是一种专门用于交通监控和管理的通信协议,主要在中国的智能交通系统中使用。它涵盖了车辆定位、轨迹回放、报警信息传输等功能...
Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端:https://azhon.blog.csdn.net/article/details/100569489 Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的...
下面是一个使用Netty解决TCP粘包和拆包问题的示例代码: ```java public class PrintServer { public void bind(int port) throws Exception { // 配置服务端的NIO线程组 EventLoopGroup bossGroup = new ...
Netty是一个异步事件驱动的网络应用程序框架,它为高性能、高可用性的网络服务器和客户端提供了一种简单易用的方式。本实践将详细介绍如何在Android环境中使用Netty进行客户端和服务端的通信。 首先,我们需要理解...
本项目以一个完整的Android端与服务器端的Demo为例,详细讲解如何在Android上使用Netty进行网络通信。 首先,理解Netty的核心概念至关重要。Netty基于Channel、EventLoop和Pipeline等组件构建。Channel是网络连接的...
要在 Netty 中同时支持 TCP 和 WebSocket,我们需要创建两个不同的 ChannelHandler:一个处理 TCP 连接,另一个处理 WebSocket 连接。这两者可以通过共享同一端口来实现。以下是实现这个功能的关键步骤: 1. **配置...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨Netty在实际应用中的实例——对象传递调用,以及如何解决TCP粘包问题。同时,我们还...
而Netty则是一个异步事件驱动的网络应用框架,适用于高并发、低延迟的场景,广泛应用于服务器端编程。 在传统Web应用中,我们通常会使用Servlet容器(如Tomcat、Jetty等)来托管我们的服务。这些容器会处理HTTP请求...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何利用 Netty 4 实现多线程的消息分发,这对于构建分布式系统、游戏服务器或者...
Netty 是一个高性能、异步事件驱动的网络应用框架,常用于开发高效的网络服务器和客户端。在Netty中,编解码器是处理数据转换的关键组件,它们将原始的字节流转换为应用程序可理解的消息格式,反之亦然。本文将深入...
在Netty中,我们可以创建一个ServerBootstrap实例来启动服务器,并配置BossGroup和WorkerGroup来处理连接接受和数据读写。通过ByteBuf对象,Netty能够高效地处理网络I/O,支持零拷贝等优化技术。 2. **消息编码与...
在这个“使用 Netty 实现一个简单的聊天室”的项目中,我们将深入理解 Netty 的核心概念和组件,以及如何利用它们构建一个实时交互的聊天应用。 1. **Netty 基本概念** - **BossGroup 和 WorkerGroup**:在 Netty ...
在本文中,我们将深入探讨如何使用Spring Boot和Netty实现一个简单的一对一聊天应用程序。Spring Boot是Java领域中广泛使用的微服务框架,它简化了配置并提供了快速启动的应用程序开发体验。Netty则是一个高性能、...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,常用于开发高并发、低延迟的网络服务,如服务器和客户端通信。在本文中,我们将探讨如何使用 Netty 实现文件上传功能,同时了解 Netty 的"零拷贝"技术。 首先...
2. **版本兼容性**:虽然这是Netty的一个较早版本,但仍然需要注意与其他库的兼容性问题,例如,如果你的其他依赖使用了不兼容的Netty版本,可能会导致运行时错误。 3. **API变动**:从Netty 4.x到5.x存在较大的API...
Netty是Java的网络编程框架,广泛应用于数据采集服务中,本文将对Netty的基本概念和应用进行详细介绍,并将其与ETL技术结合,讲解如何使用Netty进行数据流转和处理。 1. ETL概述 ETL(Extract、Transform、Load)...