NetworkStream.ReadTimeout 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 olvasási művelet mennyi ideig blokkolja az adatokra való várakozást.
public:
virtual property int ReadTimeout { int get(); void set(int value); };
public override int ReadTimeout { get; set; }
member this.ReadTimeout : int with get, set
Public Overrides Property ReadTimeout As Integer
Tulajdonság értéke
Ezredmásodpercben Int32 megadja azt az időt, amely az olvasási művelet meghiúsulása előtt eltelik. Az alapértelmezett érték azt határozza meg, Infinitehogy az olvasási művelet ne jár-e 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 10 ezredmásodpercre állítja a hálózati stream olvasási időtúllépését.
// Create a client that will connect to a
// server listening on the contosoServer computer
// at port 11000.
TcpClient tcpClient = new TcpClient();
tcpClient.Connect("contosoServer", 11000);
// Get the stream used to read the message sent by the server.
NetworkStream networkStream = tcpClient.GetStream();
// Set a 10 millisecond timeout for reading.
networkStream.ReadTimeout = 10;
// Read the server message into a byte buffer.
byte[] bytes = new byte[1024];
networkStream.Read(bytes, 0, 1024);
//Convert the server's message into a string and display it.
string data = Encoding.UTF8.GetString(bytes);
Console.WriteLine("Server sent message: {0}", data);
networkStream.Close();
tcpClient.Close();
Megjegyzések
Ha az olvasási művelet nem fejeződik be a tulajdonság által megadott időn belül, az olvasási művelet egy IOException.
Note
Ez a tulajdonság csak a metódus meghívásával Read végrehajtott szinkron olvasásokat érinti. Ez a tulajdonság nem befolyásolja a metódus meghívásával BeginReadReadAsync végrehajtott aszinkron olvasásokat.