0 0

netty 服务器空闲一段时候后会自动断开链接如何处理0

大伙有没有出现过这样的问题。用netty做集群服务器,包括客户端(clientBootstrap)和服务端(serverBootstrap),系统空闲3个多小时候,客户端与服务端的链接会自动断开(“远程主机强迫关闭了一个现有的连接”),系统重新后连接报异常:

01:10:31,244  WARN SingleThreadEventExecutor,nioEventLoopGroup-2-4:356 - A task raised an exception.
java.lang.IllegalArgumentException: promise already done: DefaultChannelPromise@2038329b(failure(java.util.concurrent.CancellationException)
	at io.netty.channel.DefaultChannelHandlerContext.validatePromise(DefaultChannelHandlerContext.java:806)
	at io.netty.channel.DefaultChannelHandlerContext.connect(DefaultChannelHandlerContext.java:477)
	at io.netty.channel.DefaultChannelHandlerContext.connect(DefaultChannelHandlerContext.java:467)
	at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:847)
	at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:199)
	at io.netty.bootstrap.Bootstrap$2.run(Bootstrap.java:165)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
	at java.lang.Thread.run(Unknown Source)


Caused by: java.net.NoRouteToHostException: No route to host: no further information
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:191)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:279)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)


请问这个问题如何解决,我有做心跳处理,客户端每个几秒会请求服务端,这样都还会自动断开链接,好郁闷....
2014年3月16日 19:07

2个答案 按时间排序 按投票排序

0 0

你客户端重连代码贴下呢

2016年1月28日 11:24
0 0

问题解决了吗 这种问题只能通过更加详细的日志来判断了

2014年10月22日 11:30

相关推荐

    netty5长连接.自动重连

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在“netty5长连接.自动重连”这个主题中,我们将深入探讨 Netty 如何实现长连接以及自动重连的机制。 首先,...

    netty游戏服务器核心

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在游戏服务器领域,Netty 的优势在于它的灵活性、可扩展性和高效的性能,使得它成为构建游戏服务器核心层的...

    c++客户端和java(Netty)服务器端tcp通讯

    在Java中,Netty提供了一个名为ProtobufDecoder和ProtobufEncoder的类,它们可以帮助我们自动地对protobuf消息进行解码和编码。 当C++客户端需要向Java服务器发送数据时,先序列化protobuf消息,然后通过socket发送...

    netty服务器解析16进制数据

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,常用于开发高并发、低延迟的网络服务。在处理网络通信时,数据通常以各种格式传输,包括文本、JSON、XML,甚至二进制数据。当涉及到16进制数据时,Netty 提供...

    Android与Netty服务器连接

    在Android开发中,有时我们需要实现一个客户端应用与服务器进行高效、稳定的通信,这时Netty作为一个高性能、异步事件驱动的网络应用程序框架就显得尤为重要。本文将深入探讨如何在Android平台上利用Netty构建客户端...

    java物联网的netty服务器

    Java物联网的Netty服务器是一种基于Java的高性能网络应用框架,主要应用于开发高并发、低延迟的网络服务。Netty由JBOSS组织开发并维护,是Java生态系统中的一个强大工具,广泛用于物联网(IoT)场景,如设备通信、数据...

    Netty服务器与客户端

    Netty是Java领域的一款高性能、异步事件驱动的网络应用框架,主要用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨Netty的核心特性、工作原理以及如何构建一个简单的Netty服务器和客户端。 ...

    用Netty实现Websocket(包含服务器代码和客户端网页)

    一旦有新的连接请求,Netty就会自动调用WebSocketServerHandler的相关方法进行处理。 5. **实现WebSocket客户端网页** 在客户端,我们可以使用HTML5的WebSocket API来创建与服务器的连接。首先,创建一个新的...

    netty服务器son解析

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何在 Netty 服务器中解析 JSON 数据,这是许多现代网络服务中常见的需求。 JSON...

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

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

    socket长连接,netty服务器与android源码

    在Android客户端与Netty服务器通信时,通常会使用AsyncTask、Handler或Retrofit等库来处理网络请求。提供的源码可能包含了Android客户端如何建立和维持与Netty服务器的Socket长连接,以及双方如何交换数据的示例。 ...

    netty服务器通讯说明: 服务器条件NETTY框架编程: 服务器IP:192.168.2.106 端口8810

    netty服务器通讯说明: 服务器条件NETTY框架编程: 服务器IP:192.168.2.106 端口8810 数据传输的方式:从串口接收到一条完整的协议数据,计算出数据字节长度,打包成HtAlingProtocol类,并发送给服务器; package ...

    Netty通信服务器搭建demo

    Netty是一款高性能、异步事件驱动的网络应用框架,它为Java开发人员提供了构建高性能、稳定、可扩展的网络服务器和客户端的API。在“Netty通信服务器搭建demo”中,我们将探讨如何利用Netty来搭建一个简单的通信...

    基于netty实现mqtt协议 服务器端开发,可解码http、mqtt协议请求

    连接断开时,客户端的离线状态处理; 心跳超时处理; 消息发布/订阅处理; 4.HttpServerHandler类实现对http消息的自定义处理。该handle类包含以下内容: 对一次完整的http请求进行解码然后处理该请求。

    netty-4.1_javaNetty_netty_服务器_

    Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用程序框架,专为开发协议服务器和客户端而设计。它的核心是基于 NIO(非阻塞 I/O)模型,提供了丰富的 API 和高度可定制的组件,使得开发者能够快速、高效地...

    Netty实战 电子版.pdf_java_netty_服务器_

    《Netty实战》是针对Java开发者的一本技术指南,它深入介绍了如何利用Netty这个高性能、异步事件驱动的网络应用程序框架来构建高效且可扩展的网络应用。Netty不仅简化了网络编程的复杂性,还提供了丰富的特性和组件...

    基于Netty消息框架的Java游戏服务器.zip

    当客户端连接到服务器时,Netty会自动创建一个新的Channel实例来处理该连接。服务器通过ChannelHandlerContext与客户端进行交互,可以发送和接收消息。 在性能优化方面,Netty提供了零拷贝特性,减少了内存复制带来...

    Netty空闲检测&Keepalive.pdf

    - 当 TCP 连接建立后,如果一段时间内双方都没有数据交互,操作系统会自动发送一个**探测帧**(keepalive probe)来检测对方是否还在线。 ##### 3.2 实现原理 - 默认情况下,操作系统会在一定时间内(通常是2小时)...

    netty+4G DTU

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨 Netty 如何与 4G DTU 设备结合,以及如何构建基于 Java 的物联网(IoT)解决方案。...

    Netty 实现scoket 主动推送数据到服务和服务端实现方式

    客户端发送16进制给服务端,并行实现socket通道活动状态...netty作为服务器端如何主动的向传感器发送消息,我尝试当每个传感器连接到netty(TCP/IP)时使用一个map把该channelSocket的id和该channelSocket绑定在一起。

Global site tag (gtag.js) - Google Analytics