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

Definitie

Leest gegevens uit deze stream en slaat deze op in de opgegeven matrix.

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

Parameters

buffer
Byte[]

Een Byte matrix die de bytes ontvangt die uit de stream worden gelezen.

offset
Int32

Een Int32 met de op nul gebaseerde locatie buffer waar de gegevens uit deze stroom moeten worden opgeslagen.

count
Int32

Een Int32 met het maximum aantal bytes dat uit de stream moet worden gelezen.

Retouren

Een Int32 waarde die het aantal bytes aangeeft dat uit de onderliggende stroom is gelezen. Als er geen gegevens meer moeten worden gelezen, wordt 0 geretourneerd.

Uitzonderingen

De leesbewerking is mislukt.

Er is geen verificatie opgetreden.

Er wordt al een Read(Byte[], Int32, Int32) bewerking uitgevoerd.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u leest uit een 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();
}

Opmerkingen

De methode leest maximaal bytes uit count de huidige stroom en slaat deze op offsetvanaf buffer .

U kunt deze methode pas aanroepen als u bent geverifieerd. Als u wilt verifiëren, roept u een van de AuthenticateAsClientmethoden , , AuthenticateAsClientAsync, AuthenticateAsServerAsyncBeginAuthenticateAsClientAuthenticateAsServerof BeginAuthenticateAsServer methoden aan.

Gebruik de ReadAsync methode om deze bewerking asynchroon uit te voeren.

Van toepassing op