NegotiateStream.Read(Byte[], Int32, Int32) Metod

Definition

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

buffer
Byte[]

En Byte matris som tar emot byteen som läse från strömmen.

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.

count
Int32

En Int32 som innehåller det maximala antalet byte som ska läsas från strö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.

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 .

Gäller för