NetworkStream.WriteTimeout Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta la quantità di tempo in cui un'operazione di scrittura blocca l'attesa dei dati.
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
Valore della proprietà
Oggetto Int32 che specifica la quantità di tempo, espressa in millisecondi, che passerà prima che un'operazione di scrittura non riesca. Il valore predefinito, Infinite, specifica che l'operazione di scrittura non scade.
Eccezioni
Il valore specificato è minore o uguale a zero e non Infiniteè .
Esempio
Nell'esempio di codice seguente il timeout di scrittura per un flusso di rete viene impostato su 10 millisecondi.
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();
}
}
}
Commenti
Se l'operazione di scrittura non viene completata entro il tempo specificato da questa proprietà, l'operazione di scrittura genera un'eccezione IOException.
Note
Questa proprietà influisce solo sulle operazioni di scrittura sincrone eseguite chiamando il Write metodo . Questa proprietà non influisce sulle scritture asincrone eseguite chiamando il BeginWrite metodo o WriteAsync .