NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
- callback
- AsyncCallback
Delegasi AsyncCallback yang dijalankan saat BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) selesai.
- 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.
Sudah NetworkStream ditutup.
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.