Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Socket.SendBufferSize-Eigenschaft

Ruft einen Wert ab, der die Größe des Sendepuffers für den Socket angibt, oder legt diesen fest.

Namespace:  System.Net.Sockets
Assembly:  System (in System.dll)
public int SendBufferSize { get; set; }

Eigenschaftswert

Typ: System.Int32
Ein Int32, das die Größe des Sendepuffer in Bytes enthält. Der Standard ist 8192.
AusnahmeBedingung
SocketException

Fehler beim Zugriff auf den Socket.

ObjectDisposedException

Der Socket wurde geschlossen.

ArgumentOutOfRangeException

Der für einen set-Vorgang angegebene Wert ist kleiner als 0.

Durch einen größeren Puffer wird die Erkennung von Verbindungsproblemen möglicherweise verzögert. Beim Übertragen umfangreicher Dateien empfiehlt sich möglicherweise die Vergrößerung des Puffers, sofern Sie keine große Bandbreite oder keine Verbindung mit langer Wartezeit (z. B. einen Satellitenbreitbandanbieter) verwenden.

Im folgenden Codebeispiel wird die Verwendung der SendBufferSize-Eigenschaft veranschaulicht.


		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 = new 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("");
		}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.