NetworkStream.WriteTimeout Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yazma işleminin verileri beklemesini engelleyebilecek süreyi alır veya ayarlar.
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
Özellik Değeri
Int32 Yazma işlemi başarısız olmadan önce geçen süreyi milisaniye cinsinden belirten bir. Varsayılan değer olan Infinite, yazma işleminin zaman aşımına neden olmadığını belirtir.
Özel durumlar
Belirtilen değer sıfırdan küçük veya sıfıra eşit ve değeri değildir Infinite.
Örnekler
Aşağıdaki kod örneği, ağ akışı için yazma zaman aşımını 10 milisaniye olarak ayarlar.
#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();
}
}
}
Açıklamalar
Yazma işlemi bu özellik tarafından belirtilen süre içinde tamamlanmazsa, yazma işlemi bir IOExceptionoluşturur.
Not
Bu özellik yalnızca yöntemini çağırarak Write gerçekleştirilen zaman uyumlu yazma işlemlerini etkiler. Bu özellik, veya WriteAsync yöntemi çağrılarak BeginWrite gerçekleştirilen zaman uyumsuz yazmaları etkilemez.