向多个客户端发送文件数据?
Posted
技术标签:
【中文标题】向多个客户端发送文件数据?【英文标题】:Sending File Data To Multiple Clients? 【发布时间】:2012-03-10 22:48:26 【问题描述】:我正在尝试找出最好的方法来为同时处理多个客户端的客户端/服务器系统编写数据传输代码。
我已经保存了一个连接的客户端列表(顺便说一句,我正在使用 NIO 非阻塞框架)。
在每次读/写过程中遍历每个客户端并将缓冲区数据写入每个通道,这是否会导致性能成本高昂?有没有更好/更有效的方法?
我一直在考虑根据客户端数量划分缓冲区大小。这是一个可行的解决方案吗?
【问题讨论】:
【参考方案1】:当您处理大量客户时,使用选择器(就像您似乎正在做的那样)确实很划算(以及为什么要针对您没有大量客户的情况进行优化客户;)
这种系统的瓶颈很少是执行迭代的 CPU,而是 I/O,所以我不会担心你在哪里。
【讨论】:
你是说我应该或不应该使用选择器吗?以上是关于向多个客户端发送文件数据?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Dojo 文件上传客户端向 Java 服务器端发送附加数据
如何在 ASP.NET MVC 中向客户端发送 XML 文件
Python socketserver 向多个客户端发送数据 cpu 使用率高