基本上我有一个监听器(当它收到一个新的连接时)创建一个新的socketWorker并将连接分配给它。 现在,如果客户端发送一个巨大的文件(需要30秒才能完全接收),然后发送一个几个字节的小文件,在完全收到大文件之前,不会收到小文件。 这显然是一种糟糕的方法,我想知道如何才能这样做,以便同时发送文件?
截至目前,我正在使用异步方法,每次完全接收文件时,再次调用BeginReceive()以接收下一个文件(错误方式)。
有什么方法可以解决这个问题? 我很感激!
答案 0 :(得分:2)
您必须实现多路复用,例如SPDY。这(基本上)是通过构建消息部分并在每个帧上提供流ID来完成的。这样,可以通过单个连接交换多个流。
或者,您可以为每个文件打开一个连接。