Freigeben über


NetworkStream.CanRead-Eigenschaft

Ruft einen Wert ab, der angibt, ob der NetworkStream Lesevorgänge unterstützt.

Namespace: System.Net.Sockets
Assembly: System (in system.dll)

Syntax

'Declaration
Public Overrides ReadOnly Property CanRead As Boolean
'Usage
Dim instance As NetworkStream
Dim value As Boolean

value = instance.CanRead
public override bool CanRead { get; }
public:
virtual property bool CanRead {
    bool get () override;
}
/** @property */
public boolean get_CanRead ()
public override function get CanRead () : boolean

Eigenschaftenwert

true, wenn Daten aus dem Stream gelesen werden können, andernfalls false. Der Standardwert ist true.

Hinweise

Wenn Sie für CanRead den Wert true angeben, lässt der NetworkStream Aufrufe der Read-Methode zu. Mit dem entsprechenden FileAccess-Enumerationswert im Konstruktor werden die Lese- und Schreibberechtigung für NetworkStream festgelegt. Die CanRead-Eigenschaft wird bei der Initialisierung von NetworkStream festgelegt.

Beispiel

Im folgenden Codebeispiel wird CanRead überprüft, um festzustellen, ob der NetworkStream gelesen werden kann. Dann wird für den NetworkStream ein Lesevorgang ausgeführt.

' Check to see if this NetworkStream is readable.
If myNetworkStream.CanRead Then
   Dim myReadBuffer(1024) As Byte
       Dim myCompleteMessage As StringBuilder = New StringBuilder()
   Dim numberOfBytesRead As Integer = 0
   
   ' Incoming message may be larger than the buffer size.
   Do
      numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length)
           myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead))
   Loop While myNetworkStream.DataAvailable
   
   ' Print out the received message to the console.
       Console.WriteLine(("You received the following message : " + myCompleteMessage.ToString()))
Else
   Console.WriteLine("Sorry.  You cannot read from this NetworkStream.")
End If
           
// Check to see if this NetworkStream is readable.
if(myNetworkStream.CanRead){
    byte[] myReadBuffer = new byte[1024];
    StringBuilder myCompleteMessage = new StringBuilder();
    int numberOfBytesRead = 0;

    // Incoming message may be larger than the buffer size.
    do{
         numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);

         myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
                         
    }
    while(myNetworkStream.DataAvailable);

    // Print out the received message to the console.
    Console.WriteLine("You received the following message : " +
                                 myCompleteMessage);
}
else{
     Console.WriteLine("Sorry.  You cannot read from this NetworkStream.");
}
// Check to see if this NetworkStream is readable.
if ( myNetworkStream->CanRead )
{
   array<Byte>^ myReadBuffer = gcnew array<Byte>(1024);
   String^ myCompleteMessage = "";
   int numberOfBytesRead = 0;
   
   // Incoming message may be larger than the buffer size.
   do
   {
      numberOfBytesRead = myNetworkStream->Read( myReadBuffer, 0,
         myReadBuffer->Length );
      myCompleteMessage = String::Concat( myCompleteMessage,
         Encoding::ASCII->GetString( myReadBuffer, 0, numberOfBytesRead ) );
   }
   while ( myNetworkStream->DataAvailable );
   
   // Print out the received message to the console.
   Console::WriteLine( "You received the following message : {0}",
      myCompleteMessage );
}
else
{
   Console::WriteLine( "Sorry.  You cannot read from this NetworkStream." );
}
// Check to see if this NetworkStream is readable.
if (myNetworkStream.get_CanRead()) {
    ubyte myReadBuffer[] = new ubyte[1024];
    String myCompleteMessage = "";
    int numberOfBytesRead = 0;
    // Incoming message may be larger than the buffer size.
    do {
        numberOfBytesRead = myNetworkStream.Read(myReadBuffer,
            0, myReadBuffer.get_Length());
        myCompleteMessage = String.Concat(myCompleteMessage, 
            Encoding.get_ASCII().GetString(myReadBuffer, 0, 
            numberOfBytesRead));
    } while (myNetworkStream.get_DataAvailable());
    // Print out the received message to the console.
    Console.WriteLine("You received the following message : " 
        + myCompleteMessage);
}
else {
    Console.WriteLine("Sorry.  You cannot read from this "
        + "NetworkStream.");
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

NetworkStream-Klasse
NetworkStream-Member
System.Net.Sockets-Namespace
Readable
FileAccess