将文件数据发送给多个客户端?
问题描述:
我想弄清楚为一次处理多个客户端的客户端/服务器系统编写数据传输代码的最佳方法。将文件数据发送给多个客户端?
我已经保持连接谁的客户端列表(我使用NIO非阻塞框架BTW)。
使用每个读写通道遍历每个客户端并将缓冲区数据写入每个通道的性能是否高昂?有更好/更有效的方法吗?
我一直在想瓜分基于客户端数量的缓冲区大小。这是一个可行的解决方案吗?
答
使用选择器(您似乎正在做的事情)在处理大量客户端时真的会付出代价(为什么在不是有大量客户端的情况下进行优化?)
这样的系统瓶颈很少是CPU的迭代,但无论如何I/O,所以我不会担心,如果我在哪里你。
那么只是做迭代? – bgroenks 2012-02-20 15:47:55
你是说我应该或不应该使用选择器? – bgroenks 2012-02-20 15:53:49
是使用选择器! :-) – aioobe 2012-02-20 16:07:37