NegotiateStream.Read(Byte[], Int32, Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Läser data från den här strömmen och lagrar dem i den angivna matrisen.
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
Parametrar
- offset
- Int32
En Int32 som innehåller den nollbaserade plats buffer där du kan börja lagra data som lästs från den här dataströmmen.
Returer
Ett Int32 värde som anger antalet byte som lästs från den underliggande strömmen. När det inte finns fler data att läsa returnerar 0.
Undantag
Läsåtgärden misslyckades.
Autentiseringen har inte inträffat.
En Read(Byte[], Int32, Int32) åtgärd pågår redan.
Exempel
Följande kodexempel visar läsning från en 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();
}
Kommentarer
Metoden läser maximalt antal count byte från den aktuella strömmen och lagrar dem i buffer början av offset.
Du kan inte anropa den här metoden förrän du har autentiserats. Om du vill autentisera AuthenticateAsClientanropar du någon av metoderna , AuthenticateAsClientAsync, BeginAuthenticateAsClient, AuthenticateAsServer, AuthenticateAsServerAsynceller BeginAuthenticateAsServer .
Använd metoden för att utföra den här åtgärden asynkront ReadAsync .