NetworkStream.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Read(Span<Byte>) |
NetworkStream からデータを読み取り、メモリ内のバイトのスパンに格納します。 |
Read(Byte[], Int32, Int32) |
NetworkStream からデータを読み取り、バイト配列に格納します。 |
Read(Span<Byte>)
- ソース:
- NetworkStream.cs
- ソース:
- NetworkStream.cs
- ソース:
- NetworkStream.cs
NetworkStream からデータを読み取り、メモリ内のバイトのスパンに格納します。
public:
override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
パラメーター
NetworkStream から読み取られたデータを格納するメモリの領域。
戻り値
NetworkStream から読み取るバイト数。
例外
NetworkStream では読み取りがサポートされていません。
NetworkStream が閉じています。
注釈
このメソッドは、 パラメーターで使用できる量のデータを buffer
読み取り、正常に読み取られたバイト数を返します。
注意
プロパティを呼び出CanReadして、 NetworkStream が読み取り可能かどうかを確認します。 読み取り不可能な から NetworkStream 読み取ろうとすると、 が InvalidOperationException表示されます。
注意
をIOException受け取った場合は、 プロパティをInnerExceptionチェックして、 SocketExceptionが原因かどうかを判断します。 その場合は、 プロパティを ErrorCode 使用して特定のエラー コードを取得し、エラーの詳細な説明については 、Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
適用対象
Read(Byte[], Int32, Int32)
- ソース:
- NetworkStream.cs
- ソース:
- NetworkStream.cs
- ソース:
- NetworkStream.cs
NetworkStream からデータを読み取り、バイト配列に格納します。
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int size);
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int size);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, size As Integer) As Integer
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
パラメーター
- buffer
- Byte[]
Byte 型の配列。NetworkStream から読み取られたデータを格納するメモリ内の場所です。
- offset
- Int32
データの格納を開始する buffer
内の場所。
- sizecount
- Int32
NetworkStream から読み取るバイト数。
戻り値
NetworkStream から読み取るバイト数。
例外
buffer
が null
です。
offset
が 0 未満です。
または
offset
が buffer
の長さを超えています。
または
size
が 0 未満です。
または
size
が、buffer
から offset
を引いた長さを超えています。
NetworkStream では読み取りがサポートされていません。
NetworkStream が閉じています。
例
次のコード例では、 を使用 DataAvailable して、データを読み取ることができるかどうかを判断します。 データが使用可能な場合は、 から NetworkStreamを読み取ります。
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
// Read all the data until the end of stream has been reached.
// The incoming message may be larger than the buffer size.
while (numberOfBytesRead > 0)
{
myCompleteMessage.Append(Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
}
// Print out the received message to the console.
Console.WriteLine("You received the following message : " + myCompleteMessage);
注釈
このメソッドは にデータを読み取 buffer
り、正常に読み取られたバイト数を返します。 この操作では Read
、 パラメーターで指定されたバイト数まで、使用可能な量のデータを size
読み取ります。
注意
プロパティを呼び出CanReadして、 NetworkStream が読み取り可能かどうかを確認します。 読み取り不可能な から NetworkStream 読み取ろうとすると、 が InvalidOperationException表示されます。
注意
をIOException受け取った場合は、 プロパティをInnerExceptionチェックして、 SocketExceptionが原因かどうかを判断します。 その場合は、 プロパティを ErrorCode 使用して特定のエラー コードを取得し、エラーの詳細な説明については 、Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
こちらもご覧ください
適用対象
.NET