Bagikan melalui


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

Definisi

Memulai penulisan asinkron ke aliran.

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

Parameter

buffer
Byte[]

Array jenis Byte yang berisi data untuk ditulis ke NetworkStream.

offset
Int32

Lokasi di buffer untuk mulai mengirim data.

sizecount
Int32

Jumlah byte yang akan ditulis ke NetworkStream.

state
Object

Objek yang berisi data tambahan yang ditentukan pengguna.

Mengembalikan

Yang IAsyncResult mewakili panggilan asinkron.

Pengecualian

Parameternya buffer adalah null.

Parameternya offset kurang dari 0.

-atau-

Parameter offset lebih besar dari panjang buffer.

-atau-

Parameternya size kurang dari 0.

-atau-

Parameter size lebih besar dari panjang buffer dikurangi nilai offset parameter.

Yang mendasar Socket ditutup.

-atau-

Terjadi kegagalan saat menulis ke jaringan.

-atau-

Terjadi kesalahan saat mengakses soket.

Keterangan

Penting

Ini adalah API kompatibilitas, kami tidak menyarankan untuk menggunakan metode APM (Mulai/Akhir) untuk pengembangan baru. Sebagai gantinya, gunakan setara berbasis Tugas.

Anda dapat meneruskan panggilan balik yang diterapkan AsyncCallbackBeginWrite untuk mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginWrite. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron. AsyncState Gunakan properti untuk IAsyncResult mendapatkan objek status yang diteruskan ke BeginWrite metode .

Operasi BeginWrite harus diselesaikan dengan memanggil EndWrite metode . Biasanya, metode ini dipanggil oleh delegasi yang disediakan AsyncCallback . EndWrite akan memblokir utas panggilan hingga operasi selesai.

Catatan

Jika Anda menerima IOException, periksa InnerException properti untuk menentukan apakah itu disebabkan oleh SocketException. Jika demikian, gunakan ErrorCode properti untuk mendapatkan kode kesalahan tertentu.

Operasi baca dan tulis dapat dilakukan secara bersamaan pada instans NetworkStream kelas tanpa perlu sinkronisasi. Selama ada satu utas unik untuk operasi tulis dan satu utas unik untuk operasi baca, tidak akan ada gangguan silang antara utas baca dan tulis dan tidak diperlukan sinkronisasi.

Berlaku untuk

Lihat juga