TcpClient.ReceiveBufferSize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает размер буфера приема.
public:
property int ReceiveBufferSize { int get(); void set(int value); };
public int ReceiveBufferSize { get; set; }
member this.ReceiveBufferSize : int with get, set
Public Property ReceiveBufferSize As Integer
Значение свойства
Размер приемного буфера (в байтах). Значение по умолчанию — 8192 байт.
Исключения
Произошла ошибка при задании размера буфера.
-или-
В приложениях .NET Compact Framework это свойство задать нельзя. Обходные пути см. в примечании, относящемся к платформам, в разделе "Примечания".
Примеры
В следующем примере кода устанавливается и возвращается размер буфера приема.
// sets the receive buffer size using the ReceiveBufferSize public property.
tcpClient->ReceiveBufferSize = 1024;
// gets the receive buffer size using the ReceiveBufferSize public property.
if ( tcpClient->ReceiveBufferSize == 1024 )
Console::WriteLine( "The receive buffer was successfully set to {0}", tcpClient->ReceiveBufferSize );
// Sets the receive buffer size using the ReceiveBufferSize public property.
tcpClient.ReceiveBufferSize = 1024;
// Gets the receive buffer size using the ReceiveBufferSize public property.
if (tcpClient.ReceiveBufferSize == 1024)
Console.WriteLine ("The receive buffer was successfully set to " + tcpClient.ReceiveBufferSize.ToString ());
' Sets the receive buffer size using the ReceiveBufferSize public property.
tcpClient.ReceiveBufferSize = 1024
' Gets the receive buffer size using the ReceiveBufferSize public property.
If tcpClient.ReceiveBufferSize = 1024 Then
Console.WriteLine(("The receive buffer was successfully set to " + tcpClient.ReceiveBufferSize.ToString()))
End If
Комментарии
Свойство ReceiveBufferSize
получает или задает количество байтов, которые должны храниться в буфере получения для каждой операции чтения. Это свойство фактически управляет пространством сетевого буфера, выделенным для получения входящих данных.
Сетевой буфер должен быть по крайней мере таким же, как буфер приложения, чтобы обеспечить доступность требуемых данных при вызове NetworkStream.Read метода . Используйте свойство , ReceiveBufferSize чтобы задать этот размер. Если приложение будет получать массовые данные, следует передать Read
методу очень большой буфер приложения.
Если сетевой буфер меньше объема данных, запрашиваемых в Read
методе, вы не сможете получить нужный объем данных за одну операцию чтения. Это влечет за собой дополнительные вызовы Read
метода .