NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metódus
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.
Aszinkron írást kezd egy streambe.
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int size, AsyncCallback ^ callback, System::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);
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, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, size As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Paraméterek
- buffer
- Byte[]
Olyan típusú Byte tömb, amely tartalmazza a beírandó NetworkStreamadatokat.
- offset
- Int32
Az adatok küldésének megkezdéséhez megadott hely buffer .
- countsize
- Int32
A beírandó NetworkStreambájtok száma.
- callback
- AsyncCallback
A AsyncCallback befejezett BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) meghatalmazott.
- state
- Object
Olyan objektum, amely további felhasználó által definiált adatokat tartalmaz.
Válaszok
Az IAsyncResult aszinkron hívást jelképező hívás.
Kivételek
A buffer paraméter a következő null: .
A offset paraméter kisebb, mint 0.
-vagy-
A offset paraméter nagyobb, mint a hossza buffer.
-vagy-
A size paraméter kisebb, mint 0.
-vagy-
A size paraméter nagyobb, mint a paraméter értékének bufferoffset mínusz hossza.
Az alapul szolgáló Socket zárt.
-vagy-
Hiba történt a hálózatba való írás közben.
-vagy-
Hiba történt a szoftvercsatorna elérésekor.
A NetworkStream lezárva.
Megjegyzések
Important
Ez egy kompatibilitási API. Nem javasoljuk az APM (Begin/End) metódusok használatát az új fejlesztéshez. Ehelyett használja a feladatalapú megfelelőket.
A művelet befejezéséről értesítést kapó visszahívást továbbíthat, amely implementálva AsyncCallbackBeginWrite van. Vegye figyelembe, hogy ha a mögöttes hálózati verem szinkron módon hajtja végre a műveletet, a visszahívást a rendszer beágyazottan hajtja végre a hívás BeginWritesorán. Ebben az esetben a CompletedSynchronously visszaadott IAsyncResulttrue tulajdonság azt jelzi, hogy a metódus szinkron módon fejeződött be. Használja a AsyncState tulajdonságot a IAsyncResult metódusnak átadott állapotobjektum lekéréséhez BeginWrite .
A BeginWrite műveletet a metódus meghívásával EndWrite kell végrehajtani. A metódust általában a megadott AsyncCallback meghatalmazott hívja meg. EndWrite a művelet befejezéséig blokkolja a hívó szálat.
Note
Ha kap egy tulajdonságot IOException, ellenőrizze a InnerException tulajdonságot annak megállapításához, hogy a tulajdonságot egy SocketException. Ha igen, a ErrorCode tulajdonság használatával szerezze be az adott hibakódot.
Az olvasási és írási NetworkStream műveletek az osztály egy példányán is elvégezhetők szinkronizálás nélkül. Mindaddig, amíg az írási műveletekhez egy egyedi szál és egy egyedi szál tartozik az olvasási műveletekhez, az olvasási és írási szálak között nincs kereszt-interferencia, és nincs szükség szinkronizálásra.