Netty:连接两个频道

时间:2012-01-21 01:50:29

标签: netty

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

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

最终,这个简单的应用程序将类似于telnet-to-telnet聊天。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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