NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Påbörjar en asynkron skrivning till en dataström.
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 size, AsyncCallback callback, object state);
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
Parametrar
- buffer
- Byte[]
En matris av typen Byte som innehåller de data som ska skrivas NetworkStreamtill .
- offset
- Int32
Platsen där buffer data ska börja skickas.
- size
- Int32
Antalet byte som ska skrivas till NetworkStream.
- callback
- AsyncCallback
Ombudet AsyncCallback som körs när BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) det är klart.
- state
- Object
Ett objekt som innehåller ytterligare användardefinierade data.
Returer
En IAsyncResult som representerar det asynkrona anropet.
Undantag
Parametern buffer är null.
Parametern offset är mindre än 0.
-eller-
Parametern offset är större än längden på buffer.
-eller-
Parametern size är mindre än 0.
-eller-
Parametern size är större än längden buffer på minus värdet för parametern offset .
Den underliggande Socket är stängd.
-eller-
Det uppstod ett fel när du skrev till nätverket.
-eller-
Ett fel uppstod vid åtkomst till socketen.
Är NetworkStream stängd.
Kommentarer
Important
Det här är ett kompatibilitets-API. Vi rekommenderar inte att du använder APM-metoderna (Begin/End) för ny utveckling. Använd i stället de aktivitetsbaserade motsvarigheterna.
Du kan skicka ett återanrop som implementeras AsyncCallback till BeginWrite för att få ett meddelande om att åtgärden har slutförts. Observera att om den underliggande nätverksstacken slutför åtgärden synkront körs återanropet infogat under anropet till BeginWrite. I det här fallet CompletedSynchronously anges egenskapen för den returnerade IAsyncResult till för true att indikera att metoden slutfördes synkront.
AsyncState Använd egenskapen för IAsyncResult att hämta tillståndsobjektet som skickas BeginWrite till metoden.
Åtgärden BeginWrite måste slutföras genom att anropa EndWrite metoden. Metoden anropas vanligtvis av det angivna AsyncCallback ombudet. EndWrite blockerar den anropande tråden tills åtgärden har slutförts.
Note
Om du får en IOExceptionkontrollerar du InnerException egenskapen för att avgöra om den orsakades av en SocketException. I så fall använder du ErrorCode egenskapen för att hämta den specifika felkoden.
Läs- och skrivåtgärder kan utföras samtidigt på en instans av klassen utan behov av NetworkStream synkronisering. Så länge det finns en unik tråd för skrivåtgärderna och en unik tråd för läsåtgärderna, kommer det inte att finnas någon korsinterferens mellan läs- och skrivtrådar och ingen synkronisering krävs.