NetworkStream.DataAvailable プロパティ
アセンブリ: System (system.dll 内)



DataAvailable プロパティを使用して、データを読み取ることができる状態かどうかを確認します。DataAvailable が true の場合、Read メソッドの実行はすぐに終了します。リモート ホストがシャットダウンするか接続を閉じると、DataAvailable は SocketException をスローする場合があります。

データが使用可能な場合に NetworkStream から読み取りを実行するコード例を次に示します。
' 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."); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からNetworkStream.DataAvailable プロパティを検索する場合は、下記のリンクをクリックしてください。

- NetworkStream.DataAvailable プロパティのページへのリンク