我正在开发一个 Web 应用程序,它等待 N(例如,大约 5 个)用户通过 TCP 套接字连接到 Web 服务。服务器跟踪连接的套接字数量,一旦达到 N,他就会同时向所有套接字发送一个(单个)文件,比如最大 2MB。这里的重点是时间——他们都应该同时接收文件,而不是一个接一个。
作为 c# 和套接字编程的新手,我想知道在这种情况下最好的方法是什么?我想到了以下几点:服务器(异步)接收套接字连接,一旦达到 N,循环遍历文件中的所有字节,并在每次迭代中向每个客户端发送一个 Kbyte(或者可能更少?)已连接 - 在我看来,这是同时发送文件的最接近的方式。
我对如何实现这一点有点困惑。任何帮助都会很棒。谢谢
编辑:通过同时接收我的意思是,从技术上讲,我不希望服务器将文件发送到第一个客户端,然后发送到第二个客户端,然后发送到第三个等等,而是一次将其发送给所有客户端,一旦出服务器,就不在我手中了!假设没有网络问题,并且客户端都非常接近(物理上),他们应该或多或少地同时接收文件。也许解决方案比我想象的要简单......