Netty - 使用与绑定服务器通道相同的侦听地址启动新连接



我有一个绑定的服务器通道,当前正在接受本地地址"x"的连接。 我现在需要启动与远程地址"y"的连接,但我也需要我的本地侦听地址为"x"。 使用本地通道工厂和本地地址时,当我尝试使用本地地址 = "x" 建立新的客户端连接时,出现"地址已绑定"错误。 这是有道理的。

所以我的下一个路由是试图找到一种方法来从服务器通道创建新的子连接,但这最终有点太深入到netty内部代码中,似乎是一条糟糕的路由。 我记得之前看到一个关于本地客户端连接的错误。

  • 这只是本地频道的错误吗?
  • 是否可以在 Netty 中从绑定地址启动连接?

谢谢丹尼尔

你在写代理吗? 如果是这样,这里有一个网络示例应用程序。

请注意,您必须为客户端和服务器设置不同的通道工厂。

    // Configure the bootstrap.
    Executor executor = Executors.newCachedThreadPool();
    ServerBootstrap sb = new ServerBootstrap(
            new NioServerSocketChannelFactory(executor));
    // Set up the event pipeline factory.
    ClientSocketChannelFactory cf =
            new NioClientSocketChannelFactory(executor);

最新更新