NetworkStream クラス

定義

ネットワーク アクセスの基になるデータ ストリームを提供します。Provides the underlying stream of data for network access.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
継承
NetworkStream
継承
実装

次のコード例は、 NetworkStream 接続されているからを作成 Stream Socket し、基本的な同期ブロッキング i/o を実行する方法を示しています。The following code example demonstrates how to create a NetworkStream from a connected StreamSocket and perform basic synchronous blocking I/O.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

注釈

クラスには、 NetworkStream ブロックモードでソケットを介してデータを送受信するためのメソッドが用意されて Stream います。The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. ブロッキングと非ブロッキングの詳細について Socket は、「 非同期クライアントソケットの使用」を参照してください。For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. クラスは、 NetworkStream 同期データ転送と非同期データ転送の両方に使用できます。You can use the NetworkStream class for both synchronous and asynchronous data transfer. 同期通信と非同期通信の詳細については、「 ソケット」を参照してください。For more information about synchronous and asynchronous communication, see Sockets.

を作成するには、 NetworkStream 接続されたを提供する必要があり Socket ます。To create a NetworkStream, you must provide a connected Socket. また、によって提供されるに対するアクセス許可を指定することもでき FileAccess NetworkStream Socket ます。You can also specify what FileAccess permission the NetworkStream has over the provided Socket. 既定では、を終了して NetworkStream も、指定されたは閉じられません SocketBy default, closing the NetworkStream does not close the provided Socket. 指定されたを閉じるための NetworkStream アクセス許可をに付与する場合は、 Socket true パラメーターの値にを指定する必要があり ownsSocket ます。If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

Write Read 単純な単一スレッドの同期ブロッキング i/o には、メソッドとメソッドを使用します。Use the Write and Read methods for simple single thread synchronous blocking I/O. 個別のスレッドを使用して i/o を処理する場合は、 BeginWrite EndWrite メソッドとメソッド、または BeginRead EndRead 通信にメソッドとメソッドを使用することを検討してください。If you want to process your I/O using separate threads, consider using the BeginWrite and EndWrite methods, or the BeginRead and EndRead methods for communication.

は、 NetworkStream ネットワークデータストリームへのランダムアクセスをサポートしていません。The NetworkStream does not support random access to the network data stream. CanSeekストリームがシークをサポートしているかどうかを示すプロパティの値が常に、プロパティを読み取るか、プロパティを読み取るか、 false Position Length またはメソッドを呼び出すと Seek 、がスローされ NotSupportedException ます。The value of the CanSeek property, which indicates whether the stream supports seeking, is always false; reading the Position property, reading the Length property, or calling the Seek method will throw a NotSupportedException.

読み取りおよび書き込み操作は、 NetworkStream 同期を必要とせずに、クラスのインスタンスで同時に実行できます。Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. 書き込み操作用の一意のスレッドが1つあり、読み取り操作用の一意のスレッドが1つであれば、読み取りと書き込みのスレッド間で相互干渉が発生することはなく、同期は必要ありません。As long as there is one unique thread for the write operations and one unique thread for the read operations, there will be no cross-interference between read and write threads and no synchronization is required.

コンストラクター

NetworkStream(Socket)

指定した NetworkStreamSocket クラスの新しいインスタンスを作成します。Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

指定した NetworkStream 所有権を使用して、指定した SocketSocket クラスの新しいインスタンスを初期化します。Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

指定したアクセス権を持つ、指定した NetworkStreamSocket クラスの新しいインスタンスを作成します。Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

NetworkStream(Socket, FileAccess, Boolean)

指定したアクセス権と指定した NetworkStream 所有権で、指定した SocketSocket クラスの新しいインスタンスを作成します。Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

プロパティ

CanRead

NetworkStream が読み取りをサポートしているかどうかを示す値を取得します。Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

ストリームがシークをサポートしているかどうかを示す値を取得します。Gets a value that indicates whether the stream supports seeking. このプロパティは現在サポートされていません。This property is not currently supported. このプロパティは常に false を返します。This property always returns false.

CanTimeout

タイムアウトのプロパティが NetworkStream で使用可能かどうかを示します。Indicates whether timeout properties are usable for NetworkStream.

CanTimeout

現在のストリームがタイムアウトできるかどうかを決定する値を取得します。Gets a value that determines whether the current stream can time out.

(継承元 Stream)
CanWrite

NetworkStream が書き込みをサポートしているかどうかを示す値を取得します。Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

NetworkStream に読み取り対象のデータがあるかどうかを示す値を取得します。Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

ストリームで使用できるデータ長を取得します。Gets the length of the data available on the stream. このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。This property is not currently supported and always throws a NotSupportedException.

Position

ストリーム内の現在位置を取得または設定します。Gets or sets the current position in the stream. このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。This property is not currently supported and always throws a NotSupportedException.

Readable

NetworkStream を読み取ることができるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

読み取り操作がデータを待機する時間を取得または設定します。Gets or sets the amount of time that a read operation blocks waiting for data.

ReadTimeout

ストリームがタイムアウト前に読み取りを試みる期間を決定する値 (ミリ秒単位) を取得または設定します。Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(継承元 Stream)
Socket

基になる Socket を取得します。Gets the underlying Socket.

Writeable

NetworkStream が書き込み可能かどうかを示す値を取得します。Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

書き込み操作がデータを待機する時間を取得または設定します。Gets or sets the amount of time that a write operation blocks waiting for data.

WriteTimeout

ストリームがタイムアウト前に書き込みを試行する期間を決定する値 (ミリ秒単位) を取得または設定します。Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(継承元 Stream)

メソッド

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

NetworkStream からの非同期の読み取りを開始します。Begins an asynchronous read from the NetworkStream.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

非同期の読み込み動作を開始します。Begins an asynchronous read operation. (代わりに、ReadAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(継承元 Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

ストリームへの非同期の書き込みを開始します。Begins an asynchronous write to a stream.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

非同期の書き込み操作を開始します。Begins an asynchronous write operation. (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(継承元 Stream)
Close()

NetworkStream を閉じます。Closes the NetworkStream.

Close()

現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。Instead of calling this method, ensure that the stream is properly disposed.

(継承元 Stream)
Close(Int32)

指定した時間待機した後、NetworkStream を閉じて、データを送信できるようにします。Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(Stream)

現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream.

(継承元 Stream)
CopyTo(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(継承元 Stream)
CopyToAsync(Stream)

現在のストリームからすべてのバイトを非同期に読み取り、別のストリームに書き込みます。Asynchronously reads the bytes from the current stream and writes them to another stream.

(継承元 Stream)
CopyToAsync(Stream, CancellationToken)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたキャンセル トークンを使用して、別のストリームに書き込みます。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(継承元 Stream)
CopyToAsync(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、別のストリームに書き込みます。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(継承元 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたバッファー サイズとキャンセル トークンを使用して、別のストリームに書き込みます。Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(継承元 Stream)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
CreateWaitHandle()
互換性のために残されています。

WaitHandle オブジェクトを割り当てます。Allocates a WaitHandle object.

(継承元 Stream)
Dispose()

Stream によって使用されているすべてのリソースを解放します。Releases all resources used by the Stream.

(継承元 Stream)
Dispose(Boolean)

NetworkStream によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Stream によって使用されているアンマネージ リソースを非同期に解放します。Asynchronously releases the unmanaged resources used by the Stream.

(継承元 Stream)
EndRead(IAsyncResult)

非同期読み取りの終了を処理します。Handles the end of an asynchronous read.

EndRead(IAsyncResult)

保留中の非同期読み取りが完了するまで待機します。Waits for the pending asynchronous read to complete. (代わりに、ReadAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(継承元 Stream)
EndWrite(IAsyncResult)

非同期書き込みの終了を処理します。Handles the end of an asynchronous write.

EndWrite(IAsyncResult)

非同期書き込み操作を終了します。Ends an asynchronous write operation. (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(継承元 Stream)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
Finalize()

NetworkStream によって使用されているすべてのリソースを解放します。Releases all resources used by the NetworkStream.

Flush()

ストリームからデータをフラッシュします。Flushes data from the stream. このメソッドは将来使用するために予約されています。This method is reserved for future use.

FlushAsync()

ストリームに対応するすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込みます。Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(継承元 Stream)
FlushAsync(CancellationToken)

非同期操作として、ストリームからデータをフラッシュします。Flushes data from the stream as an asynchronous operation.

FlushAsync(CancellationToken)

ストリームに対応するすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込み、キャンセル要求を監視します。Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(継承元 Stream)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
ObjectInvariant()
互換性のために残されています。

Contract のサポートを提供します。Provides support for a Contract.

(継承元 Stream)
Read(Byte[], Int32, Int32)

NetworkStream からデータを読み取り、バイト配列に格納します。Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

NetworkStream からデータを読み取り、メモリ内のバイトのスパンに格納します。Reads data from the NetworkStream and stores it to a span of bytes in memory.

Read(Span<Byte>)

派生クラスによってオーバーライドされた場合は、現在のストリームからバイト シーケンスを読み取り、読み取ったバイト数の分だけストリームの位置を進めます。When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(継承元 Stream)
ReadAsync(Byte[], Int32, Int32)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進めます。Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(継承元 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

NetworkStream からデータを読み取り、バイト配列の指定された範囲に非同期操作として格納します。Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(継承元 Stream)
ReadAsync(Memory<Byte>, CancellationToken)

NetworkStream からデータを読み取り、非同期操作としてバイト メモリ範囲に格納します。Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(継承元 Stream)
ReadByte()

NetworkStream から 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。または、ストリームの末尾の場合は -1 を返します。Reads a byte from the NetworkStream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

ReadByte()

ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

(継承元 Stream)
Seek(Int64, SeekOrigin)

ストリームの現在位置を特定の値に設定します。Sets the current position of the stream to the given value. このメソッドは現在サポートされていないため、常に NotSupportedException をスローします。This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

ストリームの長さを設定します。Sets the length of the stream. このメソッドは、常に NotSupportedException をスローします。This method always throws a NotSupportedException.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
Write(Byte[], Int32, Int32)

指定された範囲のバイト配列から NetworkStream にデータを書き込みます。Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

読み取り専用のバイト スパンから NetworkStream にデータを書き込みます。Writes data to the NetworkStream from a read-only byte span.

Write(ReadOnlySpan<Byte>)

派生クラスによってオーバーライドされた場合は、現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数の分だけストリームの現在位置を進めます。When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(継承元 Stream)
WriteAsync(Byte[], Int32, Int32)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進めます。Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(継承元 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

バイト配列の指定された範囲から NetworkStream に、データを非同期操作として書き込みます。Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進め、キャンセル要求を監視します。Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(継承元 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

読み取り専用メモリのバイト メモリ範囲から NetworkStream に、データを非同期操作として書き込みます。Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進め、キャンセル要求を監視します。Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(継承元 Stream)
WriteByte(Byte)

NetworkStream の現在位置にバイトを書き込み、ストリームの位置を 1 バイト進めます。Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

WriteByte(Byte)

ストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。Writes a byte to the current position in the stream and advances the position within the stream by one byte.

(継承元 Stream)

明示的なインターフェイスの実装

IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

NetworkStream によって使用されているすべてのリソースを解放します。Releases all resources used by the NetworkStream.

IDisposable.Dispose()

Stream によって使用されているすべてのリソースを解放します。Releases all resources used by the Stream.

(継承元 Stream)

拡張メソッド

ConfigureAwait(IAsyncDisposable, Boolean)

非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。Configures how awaits on the tasks returned from an async disposable are performed.

適用対象

こちらもご覧ください