Bagikan melalui


NetworkStream Kelas

Definisi

Menyediakan aliran data yang mendasar untuk akses jaringan.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
Warisan
NetworkStream
Warisan
Penerapan

Keterangan

Kelas NetworkStream menyediakan metode untuk mengirim dan menerima data melalui soket Stream dalam mode pemblokiran. Untuk informasi selengkapnya tentang pemblokiran versus pemblokiran Socket, lihat Menggunakan Soket Klien Asinkron. Anda dapat menggunakan kelas NetworkStream untuk transfer data sinkron dan asinkron. Untuk informasi selengkapnya tentang komunikasi sinkron dan asinkron, lihat Soket.

Untuk membuat NetworkStream, Anda harus menyediakan Socketyang terhubung. Anda juga dapat menentukan izin FileAccess apa yang NetworkStream miliki atas Socketyang disediakan. Secara default, menutup NetworkStream tidak menutup Socketyang disediakan . Jika Anda ingin NetworkStream memiliki izin untuk menutup Socketyang disediakan, Anda harus menentukan true untuk nilai parameter ownsSocket.

Gunakan metode Write dan Read untuk I/O pemblokiran sinkron berutas tunggal sederhana. Jika Anda ingin memproses I/O Anda secara asinkron, pertimbangkan untuk menggunakan metode berbasis Task atau ValueTaskReadAsync dan WriteAsync.

NetworkStream tidak mendukung akses acak ke aliran data jaringan. Nilai properti CanSeek, yang menunjukkan apakah aliran mendukung pencarian, selalu false; membaca properti Position, membaca properti Length, atau memanggil metode Seek akan melemparkan NotSupportedException.

Operasi baca dan tulis dapat dilakukan secara bersamaan pada instans kelas NetworkStream 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.

Konstruktor

NetworkStream(Socket)

Membuat instans baru kelas NetworkStream untuk Socketyang ditentukan.

NetworkStream(Socket, Boolean)

Menginisialisasi instans baru kelas NetworkStream untuk Socket yang ditentukan dengan kepemilikan Socket yang ditentukan.

NetworkStream(Socket, FileAccess)

Membuat instans baru kelas NetworkStream untuk Socket yang ditentukan dengan hak akses yang ditentukan.

NetworkStream(Socket, FileAccess, Boolean)

Membuat instans baru kelas NetworkStream untuk Socket yang ditentukan dengan hak akses yang ditentukan dan kepemilikan Socket yang ditentukan.

Properti

CanRead

Mendapatkan nilai yang menunjukkan apakah NetworkStream mendukung pembacaan.

CanSeek

Mendapatkan nilai yang menunjukkan apakah aliran mendukung pencarian. Properti ini saat ini tidak didukung. Properti ini selalu mengembalikan false.

CanTimeout

Menunjukkan apakah properti batas waktu dapat digunakan untuk NetworkStream.

CanTimeout

Mendapatkan nilai yang menentukan apakah aliran saat ini dapat kehabisan waktu.

(Diperoleh dari Stream)
CanWrite

Mendapatkan nilai yang menunjukkan apakah NetworkStream mendukung penulisan.

DataAvailable

Mendapatkan nilai yang menunjukkan apakah data tersedia di NetworkStream untuk segera dibaca.

Length

Mendapatkan panjang data yang tersedia di aliran. Properti ini saat ini tidak didukung dan selalu melemparkan NotSupportedException.

Position

Mendapatkan atau mengatur posisi saat ini di aliran. Properti ini saat ini tidak didukung dan selalu melemparkan NotSupportedException.

Readable

Mendapatkan atau menetapkan nilai yang menunjukkan apakah NetworkStream dapat dibaca.

ReadTimeout

Mendapatkan atau mengatur jumlah waktu yang diblokir operasi baca untuk menunggu data.

ReadTimeout

Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba membaca sebelum waktu habis.

(Diperoleh dari Stream)
Socket

Mendapatkan Socketyang mendasar.

Writeable

Mendapatkan nilai yang menunjukkan apakah NetworkStream dapat ditulis.

WriteTimeout

Mendapatkan atau mengatur jumlah waktu yang diblokir operasi tulis untuk menunggu data.

WriteTimeout

Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba menulis sebelum waktu habis.

(Diperoleh dari Stream)

Metode

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Memulai bacaan asinkron dari NetworkStream.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Memulai operasi baca asinkron. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32) sebagai gantinya.)

(Diperoleh dari Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Memulai penulisan asinkron ke aliran.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Memulai operasi penulisan asinkron. (Pertimbangkan untuk menggunakan WriteAsync(Byte[], Int32, Int32) sebagai gantinya.)

(Diperoleh dari Stream)
Close()

Menutup NetworkStream.

Close()

Menutup aliran saat ini dan merilis sumber daya apa pun (seperti soket dan handel file) yang terkait dengan aliran saat ini. Alih-alih memanggil metode ini, pastikan aliran dibuang dengan benar.

(Diperoleh dari Stream)
Close(Int32)

Menutup NetworkStream setelah menunggu waktu yang ditentukan untuk mengizinkan data dikirim.

Close(TimeSpan)

Menutup NetworkStream setelah menunggu jumlah waktu yang ditentukan untuk mengizinkan data dikirim.

CopyTo(Stream)

Membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyTo(Stream, Int32)

Membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, CancellationToken)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan token pembatalan tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, Int32)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer dan token pembatalan yang ditentukan. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
CreateWaitHandle()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengalokasikan objek WaitHandle.

(Diperoleh dari Stream)
Dispose()

Merilis semua sumber daya yang digunakan oleh Stream.

(Diperoleh dari Stream)
Dispose(Boolean)

Merilis sumber daya yang tidak dikelola yang digunakan oleh NetworkStream dan secara opsional merilis sumber daya terkelola.

DisposeAsync()

Secara asinkron merilis sumber daya yang tidak dikelola yang digunakan oleh Stream.

(Diperoleh dari Stream)
EndRead(IAsyncResult)

Menangani akhir pembacaan asinkron.

EndRead(IAsyncResult)

Menunggu pembacaan asinkron yang tertunda selesai. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32) sebagai gantinya.)

(Diperoleh dari Stream)
EndWrite(IAsyncResult)

Menangani akhir penulisan asinkron.

EndWrite(IAsyncResult)

Mengakhiri operasi penulisan asinkron. (Pertimbangkan untuk menggunakan WriteAsync(Byte[], Int32, Int32) sebagai gantinya.)

(Diperoleh dari Stream)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Merilis semua sumber daya yang digunakan oleh NetworkStream.

Flush()

Menghapus data dari aliran. Metode ini dicadangkan untuk digunakan di masa mendatang.

FlushAsync()

Secara asinkron menghapus semua buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari Stream)
FlushAsync(CancellationToken)

Menghapus data dari aliran sebagai operasi asinkron.

FlushAsync(CancellationToken)

Secara asinkron menghapus semua buffer untuk aliran ini, menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek MarshalByRefObject saat ini.

(Diperoleh dari MarshalByRefObject)
ObjectInvariant()
Kedaluwarsa.

Menyediakan dukungan untuk Contract.

(Diperoleh dari Stream)
Read(Byte[], Int32, Int32)

Membaca data dari NetworkStream dan menyimpannya ke array byte.

Read(Span<Byte>)

Membaca data dari NetworkStream dan menyimpannya ke rentang byte dalam memori.

Read(Span<Byte>)

Ketika ditimpa dalam kelas turunan, membaca urutan byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari Stream)
ReadAsync(Byte[], Int32, Int32)

Secara asinkron membaca urutan byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Membaca data dari NetworkStream dan menyimpannya ke rentang array byte tertentu sebagai operasi asinkron.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Membaca data dari NetworkStream dan menyimpannya dalam rentang memori byte sebagai operasi asinkron.

ReadAsync(Memory<Byte>, CancellationToken)

Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Membaca setidaknya jumlah minimum byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Secara asinkron membaca setidaknya jumlah minimum byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadByte()

Membaca byte dari NetworkStream dan memajukan posisi dalam aliran dengan satu byte, atau mengembalikan -1 jika di akhir aliran.

ReadByte()

Membaca byte dari aliran dan memajukan posisi dalam aliran dengan satu byte, atau mengembalikan -1 jika di akhir aliran.

(Diperoleh dari Stream)
ReadExactly(Byte[], Int32, Int32)

Membaca count jumlah byte dari aliran saat ini dan memajukan posisi dalam aliran.

(Diperoleh dari Stream)
ReadExactly(Span<Byte>)

Membaca byte dari aliran saat ini dan memajukan posisi dalam aliran hingga buffer terisi.

(Diperoleh dari Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Membaca secara asinkron count jumlah byte dari aliran saat ini, memajukan posisi dalam aliran, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Membaca byte secara asinkron dari aliran saat ini, memajukan posisi dalam aliran hingga buffer terisi, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
Seek(Int64, SeekOrigin)

Mengatur posisi aliran saat ini ke nilai yang diberikan. Metode ini saat ini tidak didukung dan selalu melemparkan NotSupportedException.

SetLength(Int64)

Mengatur panjang aliran. Metode ini selalu melemparkan NotSupportedException.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Write(Byte[], Int32, Int32)

Menulis data ke NetworkStream dari rentang array byte tertentu.

Write(ReadOnlySpan<Byte>)

Menulis data ke NetworkStream dari rentang byte baca-saja.

Write(ReadOnlySpan<Byte>)

Ketika ditimpa dalam kelas turunan, menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.

(Diperoleh dari Stream)
WriteAsync(Byte[], Int32, Int32)

Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.

(Diperoleh dari Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Menulis data ke NetworkStream dari rentang array byte yang ditentukan sebagai operasi asinkron.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Menulis data ke NetworkStream dari rentang memori byte memori baca-saja sebagai operasi asinkron.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
WriteByte(Byte)

Menulis byte ke posisi saat ini di NetworkStream dan memajukan posisi dalam aliran dengan satu byte.

WriteByte(Byte)

Menulis byte ke posisi saat ini dalam aliran dan memajukan posisi dalam aliran oleh satu byte.

(Diperoleh dari Stream)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Merilis semua sumber daya yang digunakan oleh NetworkStream.

Metode Ekstensi

CopyToAsync(Stream, PipeWriter, CancellationToken)

Secara asinkron membaca byte dari Stream dan menulisnya ke PipeWriteryang ditentukan , menggunakan token pembatalan.

ConfigureAwait(IAsyncDisposable, Boolean)

Mengonfigurasi bagaimana menunggu tugas yang dikembalikan dari asinkron sekali pakai akan dilakukan.

Berlaku untuk

Lihat juga