【发布时间】:2014-10-24 22:48:49
【问题描述】:
我需要一些建议,如何实现一个 netty 服务器,该服务器从某些源(例如文件)获取数据,然后将其作为字符串发送给所有连接的客户端。我想要类 Server 并在此类的对象上调用方法广播。应该这样使用:
Server server = new Server();
String message;
while (true) {
message = getMessage();
server.broadcast(message);
}
我知道为此我可以使用 ChannelGroup,但是我不知道如何防止超出通道写入缓冲区(我不知道如何使用 channel.isWritable())。
ChannelGroup broadcast = new DefaultChannelGroup("broadcast");
...
public void broadcast(String message) {
for (Channel channel : broadcast) {
if (channel.isWritable())
channel.write(message);
}
}
上述解决方案是错误的,因为我希望将每条消息传递给每个客户端。我很感激一些关于如何解决我的问题的建议。
【问题讨论】: