NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Yöntem
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.
Akışa zaman uyumsuz yazma işlemi başlatır.
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int size, AsyncCallback ^ callback, System::Object ^ state);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, size As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametreler
- buffer
- Byte[]
öğesine yazacak NetworkStreamverileri içeren tür Byte dizisi.
- offset
- Int32
Verileri göndermeye başlamak için içindeki buffer
konum.
- sizecount
- Int32
öğesine yazacak NetworkStreambayt sayısı.
- callback
- AsyncCallback
AsyncCallback Tamamlandığında yürütülen BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) temsilci.
- state
- Object
Kullanıcı tanımlı ek veriler içeren bir nesne.
Döndürülenler
IAsyncResult Zaman uyumsuz çağrıyı temsil eden bir.
Özel durumlar
buffer
parametresidirnull
.
offset
Parametresi 0'dan küçük.
-veya-
offset
parametresi, uzunluğundan buffer
büyüktür.
-veya-
size
Parametresi 0'dan küçük.
-veya-
size
parametresi, parametresinin değerinden buffer
offset
daha uzundur.
Temel alınan Socket kapalıdır.
-veya-
Ağa yazılırken bir hata oluştu.
-veya-
Yuvaya erişilirken bir hata oluştu.
Kapalı NetworkStream .
Açıklamalar
Önemli
Bu bir uyumluluk API'sine sahiptir; yeni geliştirme için APM (Başlangıç/Bitiş) yöntemlerinin kullanılması önerilmez. Bunun yerine, Görev tabanlı eşdeğerlerini kullanın.
İşlemin tamamlandığının bildirilmesi için öğesini uygulayan AsyncCallbackBeginWrite bir geri çağırma geçirebilirsiniz. Temel alınan ağ yığını işlemi zaman uyumlu bir şekilde tamamlarsa, çağrısı sırasında geri çağırmanın BeginWritesatır içinde yürütüleceğini unutmayın. Bu durumda, CompletedSynchronously döndürülen IAsyncResult üzerindeki özelliği yöntemin zaman uyumlu olarak tamamlandığını belirtmek için olarak ayarlanır true
. yöntemine AsyncState geçirilen durum nesnesini almak için BeginWrite özelliğini IAsyncResult kullanın.
İşlemin BeginWrite yöntemi çağrılarak EndWrite tamamlanması gerekir. Yöntem genellikle sağlanan AsyncCallback temsilci tarafından çağrılır. EndWrite işlem tamamlanana kadar çağıran iş parçacığını engeller.
Not
bir IOExceptionalırsanız, özelliğini denetleyerek InnerException nedeninin bir SocketExceptionolup olmadığını belirleyin. Bu durumda, belirli bir hata kodunu almak için özelliğini kullanın ErrorCode .
Okuma ve yazma işlemleri, eşitlemeye gerek kalmadan sınıfın NetworkStream bir örneğinde aynı anda gerçekleştirilebilir. Yazma işlemleri için benzersiz bir iş parçacığı ve okuma işlemleri için benzersiz bir iş parçacığı olduğu sürece, okuma ve yazma iş parçacıkları arasında çapraz girişim olmaz ve eşitleme gerekmez.