NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metod

Definition

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.

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.

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.

Gäller för

Se även