【问题标题】:How to handle connect or bind exception when using Netty使用 Netty 时如何处理连接或绑定异常
【发布时间】:2013-10-22 03:48:08
【问题描述】:

我在 Netty 中写了一些简单的代码

ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));

我想处理java.net.ConnectException

错误 [主] (SDKUpHandler.java:37)|意外的异常来自 下游。 java.net.ConnectException:连接被拒绝:连接: 本地主机/127.0.0.1:12345

但我没有找到办法,因为 Netty 版本 bindconnect 不会把它们扔掉。

javadoc 中,connect() 抛出两个异常,但没有java.net.ConnectException 的东西。

投掷

ClassCastException - 如果“localAddress”选项的值既不是 SocketAddress 也不是 null

ChannelPipelineException - 如果此引导程序的 pipelineFactory 未能创建新的 ChannelPipeline

任何机构都可以提供一些解决方案吗?

【问题讨论】:

  • 错误从何而来?

标签: java network-programming netty


【解决方案1】:

Netty 是异步的。您需要将 ChannelFutureListener 添加到 ChannelFuture ,一旦操作完成,它将收到通知。这样,您将收到“成功”或异常通知。检查包含所有这些的用户文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 2013-08-29
    • 2016-01-24
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多