Netty:连接两个通道



假设一个简单的netty服务器:

当第一个客户端连接时,我们将记住该通道。如果第二个客户端连接,我们希望将其与第一个通道连接,这样写在第一个通道上的所有内容都将写在第二个通道上,反之亦然。

最后,这个简单的应用程序将类似于telnet到telnet的聊天。

将两个Channels添加到DefaultChannelGroup并存储其引用。然后,当您想写入Channels时,只需调用ChannelGroup上的write(…)方法。

正如我所知,连接两个套接字通道没有直接的方法。(但是有一些方法可以连接非套接字通道、使用LocalChannel的两个本地通道、使用IOStreamChannel的任意输入输出流)。

我认为这个问题可以通过在管道中设置一个桥接通道处理程序(扩展SimpleChannelHandler)来解决,该处理程序将通道添加/删除到channelConnect()、channelDisconnected()和messageReceived()上的哈希表中,获取正确的对等通道并将消息写入其中。

最新更新