Socket::SendBufferSize Property
Gets or sets a value that specifies the size of the send buffer of the Socket.
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| SocketException | An error occurred when attempting to access the socket. |
| ObjectDisposedException | The Socket has been closed. |
| ArgumentOutOfRangeException | The value specified for a set operation is less than 0. |
A larger buffer size might delay the recognition of connection difficulties. Consider increasing the buffer size if you are transferring large files, or you are using a high bandwidth, high latency connection (such as a satellite broadband provider.)
The following code example demonstrates the use of the SendBufferSize property.
static void ConfigureTcpSocket(Socket^ tcpSocket) { // Don't allow another socket to bind to this port. tcpSocket->ExclusiveAddressUse = true; // The socket will linger for 10 seconds after // Socket.Close is called. tcpSocket->LingerState = gcnew LingerOption(true, 10); // Disable the Nagle Algorithm for this tcp socket. tcpSocket->NoDelay = true; // Set the receive buffer size to 8k tcpSocket->ReceiveBufferSize = 8192; // Set the timeout for synchronous receive methods to // 1 second (1000 milliseconds.) tcpSocket->ReceiveTimeout = 1000; // Set the send buffer size to 8k. tcpSocket->SendBufferSize = 8192; // Set the timeout for synchronous send methods // to 1 second (1000 milliseconds.) tcpSocket->SendTimeout = 1000; // Set the Time To Live (TTL) to 42 router hops. tcpSocket->Ttl = 42; Console::WriteLine("Tcp Socket configured:"); Console::WriteLine(" ExclusiveAddressUse {0}", tcpSocket->ExclusiveAddressUse); Console::WriteLine(" LingerState {0}, {1}", tcpSocket->LingerState->Enabled, tcpSocket->LingerState->LingerTime); Console::WriteLine(" NoDelay {0}", tcpSocket->NoDelay); Console::WriteLine(" ReceiveBufferSize {0}", tcpSocket->ReceiveBufferSize); Console::WriteLine(" ReceiveTimeout {0}", tcpSocket->ReceiveTimeout); Console::WriteLine(" SendBufferSize {0}", tcpSocket->SendBufferSize); Console::WriteLine(" SendTimeout {0}", tcpSocket->SendTimeout); Console::WriteLine(" Ttl {0}", tcpSocket->Ttl); Console::WriteLine(" IsBound {0}", tcpSocket->IsBound); Console::WriteLine(""); }
Available since 10
.NET Framework
Available since 2.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1