NegotiateStream.Read(Byte[], Int32, Int32) 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.
Membaca data dari aliran ini dan menyimpannya dalam array yang ditentukan.
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read(byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Parameter
- offset
- Int32
yang Int32 berisi lokasi berbasis nol untuk buffer mulai menyimpan data yang dibaca dari aliran ini.
Mengembalikan
Nilai Int32 yang menentukan jumlah byte yang dibaca dari aliran yang mendasar. Ketika tidak ada lagi data yang akan dibaca, mengembalikan 0.
Pengecualian
Operasi baca gagal.
Autentikasi belum terjadi.
Operasi Read(Byte[], Int32, Int32) sudah berlangsung.
Contoh
Contoh kode berikut menunjukkan pembacaan dari NegotiateStream.
public static void AuthenticateClient(TcpClient clientRequest)
{
NetworkStream stream = clientRequest.GetStream();
// Create the NegotiateStream.
NegotiateStream authStream = new NegotiateStream(stream, false);
// Perform the server side of the authentication.
authStream.AuthenticateAsServer();
// Display properties of the authenticated client.
IIdentity id = authStream.RemoteIdentity;
Console.WriteLine("{0} was authenticated using {1}.",
id.Name,
id.AuthenticationType
);
// Read a message from the client.
byte [] buffer = new byte[2048];
int charLength = authStream.Read(buffer, 0, buffer.Length);
string messageData = new String(Encoding.UTF8.GetChars(buffer, 0, buffer.Length));
Console.WriteLine("READ {0}", messageData);
// Finished with the current client.
authStream.Close();
// Close the client connection.
clientRequest.Close();
}
Keterangan
Metode membaca maksimum count byte dari aliran saat ini dan menyimpannya di buffer awal di offset.
Anda tidak dapat memanggil metode ini sampai Anda berhasil mengautentikasi. Untuk mengautentikasi, panggil salah AuthenticateAsClientsatu metode , , AuthenticateAsClientAsyncBeginAuthenticateAsClient, AuthenticateAsServer, AuthenticateAsServerAsyncatau BeginAuthenticateAsServer .
Untuk melakukan operasi ini secara asinkron, gunakan ReadAsync metode .