NetworkStream.WriteTimeout Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállítja, hogy egy írási művelet mennyi ideig blokkolja az adatokra való várakozást.
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
Tulajdonság értéke
Ezredmásodpercben Int32 megadja azt az időt, amely az írási művelet meghiúsulása előtt eltelik. Az alapértelmezett érték azt adja meg, Infinitehogy az írási művelet nem jár időtúllépéssel.
Kivételek
A megadott érték kisebb vagy egyenlő nullánál, és nem Infinite.
Példák
Az alábbi példakód egy hálózati stream írási idejét 10 ezredmásodpercre állítja.
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();
}
}
}
Megjegyzések
Ha az írási művelet nem fejeződik be a tulajdonság által megadott időn belül, az írási művelet egy IOException.
Note
Ez a tulajdonság csak a metódus meghívásával végrehajtott szinkron írási Write műveleteket érinti. Ez a tulajdonság nem befolyásolja a metódus meghívásával BeginWriteWriteAsync végrehajtott aszinkron írásokat.