Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#/.net:通过TCP连接传输许多小块数据_C#_.net_Sockets_Tcp - Fatal编程技术网

C#/.net:通过TCP连接传输许多小块数据

C#/.net:通过TCP连接传输许多小块数据,c#,.net,sockets,tcp,C#,.net,Sockets,Tcp,我有一个应用程序需要通过TCP连接(WLAN)传输许多小(1-3字节)消息。 我知道一次发送100kB要比以非常小的片段(几乎是字节)发送快得多。 然而,我需要传输的信息大小只有1-3字节。在发送之前收集数据将提高吞吐量,但尽早/快速传输小块数据非常重要。因此,在发送之前收集数据是个问题。 现在我要问的是,最好的办法是,一方面不要单独发送每一条信息,另一方面不要将它们的传输延迟超过必要的时间。 现在我正在考虑创建一个小缓冲区。当第一条消息是add时,我启动了一个超时1ms的计时器。在这毫秒之后,

我有一个应用程序需要通过TCP连接(WLAN)传输许多小(1-3字节)消息。 我知道一次发送100kB要比以非常小的片段(几乎是字节)发送快得多。 然而,我需要传输的信息大小只有1-3字节。在发送之前收集数据将提高吞吐量,但尽早/快速传输小块数据非常重要。因此,在发送之前收集数据是个问题。 现在我要问的是,最好的办法是,一方面不要单独发送每一条信息,另一方面不要将它们的传输延迟超过必要的时间。 现在我正在考虑创建一个小缓冲区。当第一条消息是add时,我启动了一个超时1ms的计时器。在这毫秒之后,数据将被传输。与队列中的字节数无关。但我不知道这是否是一个好的解决方案


NET的TCPClient/Server类本身就没有解决此类问题的方法。我的意思是,他们应该知道,当当前传输完成时。同时,它们可以累积所有发送请求,并将它们作为一个事务发送出去。

默认情况下,TCP堆栈已经在内部缓冲了数据,以减少发送时的开销。有关详细信息,请参阅。只需确保您已启用此算法,即设置为false。

这只是
NoDelay=true
,确定吗?