Socket.Available プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ネットワークから受信した、読み取り可能なデータ量を取得します。
public:
property int Available { int get(); };
public int Available { get; }
member this.Available : int
Public ReadOnly Property Available As Integer
プロパティ値
ネットワークから受信した、読み取り可能なデータのバイト数。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
例
次のコード例では、IOControl を呼び出した結果を FIONREAD および Available プロパティと比較します。
// FIONREAD is also available as the "Available" property.
const int FIONREAD = 0x4004667F;
void DisplayPendingByteCount( Socket^ s )
{
array<Byte>^ outValue = BitConverter::GetBytes( 0 );
// Check how many bytes have been received.
s->IOControl( FIONREAD, nullptr, outValue );
UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
Console::WriteLine( "server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s->Available );
return;
}
// FIONREAD is also available as the "Available" property.
public const int FIONREAD = 0x4004667F;
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(FIONREAD, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.WriteLine("server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s.Available);
return;
}
注釈
非ブロッキング SocketAvailable を使用している場合は、 を呼び出すReceive前に、データが読み取り用にキューに登録されているかどうかを判断するのに適した方法です。 使用可能なデータは、読み取り用にネットワーク バッファーにキューに登録されたデータの合計量です。 ネットワーク バッファーにデータがキューに入っていない場合は、 Available 0 を返します。
リモート ホストが接続をシャットダウンまたは閉じる場合は、 Available を SocketExceptionスローできます。 を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については 、Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
適用対象
こちらもご覧ください
.NET