NetworkStream.WriteTimeout Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Zeitspanne ab, in der ein Schreibvorgang während des Wartens auf Daten blockiert wird, oder legt diese fest.
public:
virtual property int WriteTimeout { int get(); void set(int value); };
public override int WriteTimeout { get; set; }
member this.WriteTimeout : int with get, set
Public Overrides Property WriteTimeout As Integer
Eigenschaftswert
Ein Int32, das die Zeitspanne in Millisekunden angibt, nach deren Ablauf ein Schreibvorgang fehlschlägt. Der Standardwert Infinite gibt an, dass der Schreibvorgang über kein Timeout verfügt.
Ausnahmen
Der angegebene Wert ist kleiner oder gleich 0 (null) und nicht Infinite.
Beispiele
Im folgenden Codebeispiel wird das Schreibtimeout für einen Netzwerkstream auf 10 Millisekunden festgelegt.
#using <System.dll>
using namespace System;
using namespace System::Text;
using namespace System::Net;
using namespace System::Net::Sockets;
int main()
{
// Create the server side connection and
// start listening for clients.
TcpListener^ tcpListener = gcnew TcpListener(IPAddress::Any, 11000);
tcpListener->Start();
Console::WriteLine("Waiting for a connection....");
// Accept the pending client connection.
TcpClient^ tcpClient = tcpListener->AcceptTcpClient();
Console::WriteLine("Connection accepted.");
// Get the stream to write the message
// that will be sent to the client.
NetworkStream^ networkStream = tcpClient->GetStream();
String^ responseString = "Hello.";
// Set the write timeout to 10 millseconds.
networkStream->WriteTimeout = 10;
// Convert the message to a byte array and sent it to the client.
array<Byte>^ sendBytes = Encoding::UTF8->GetBytes(responseString);
networkStream->Write(sendBytes, 0, sendBytes->Length);
Console::WriteLine("Message Sent.");
// Close the connection to the client.
tcpClient->Close();
// Stop listening for incoming connections
// and close the server.
tcpListener->Stop();
// Dispose allocated resources.
delete networkStream;
delete tcpClient;
}
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace Examples.System.Net
{
public class TCPListenerExample
{
public static void Main()
{
// Create the server side connection and
// start listening for clients.
TcpListener tcpListener = new TcpListener(IPAddress.Any,11000);
tcpListener.Start();
Console.WriteLine("Waiting for a connection....");
// Accept the pending client connection.
using TcpClient tcpClient = tcpListener.AcceptTcpClient();
Console.WriteLine("Connection accepted.");
// Get the stream to write the message
// that will be sent to the client.
using NetworkStream networkStream = tcpClient.GetStream();
string responseString = "Hello.";
// Set the write timeout to 10 millseconds.
networkStream.WriteTimeout = 10;
// Convert the message to a byte array and sent it to the client.
Byte[] sendBytes = Encoding.UTF8.GetBytes(responseString);
networkStream.Write(sendBytes, 0, sendBytes.Length);
Console.WriteLine("Message Sent.");
// Close the connection to the client.
tcpClient.Close();
// Stop listening for incoming connections
// and close the server.
tcpListener.Stop();
}
}
}
Hinweise
Wenn der Schreibvorgang nicht innerhalb der von dieser Eigenschaft angegebenen Zeit abgeschlossen wird, löst der Schreibvorgang einen aus IOException.
Hinweis
Diese Eigenschaft wirkt sich nur auf synchrone Schreibvorgänge aus, die durch aufrufen der Write -Methode ausgeführt werden. Diese Eigenschaft wirkt sich nicht auf asynchrone Schreibvorgänge aus, die durch Aufrufen der BeginWrite -Methode oder WriteAsync ausgeführt werden.