向多个客户端发送文件数据?

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 使用率高

GCM 向多个客户端发送多条消息(数组)

如何发送文件以响应 graphql 查询? (从服务器向客户端发送一个 csv 文件)

java客户端与服务器端