NetworkStream クラス
ネットワーク アクセス用の基になるデータのストリームを提供します。
この型のすべてのメンバの一覧については、NetworkStream メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.IO.Stream
System.Net.Sockets.NetworkStream
Public Class NetworkStream
Inherits Stream
[C#]
public class NetworkStream : Stream
[C++]
public __gc class NetworkStream : public Stream
[JScript]
public class NetworkStream extends Stream
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
NetworkStream は、ブロッキング モードのときに Stream ソケット上でデータを送受信するためのメソッドを提供します。 Socket のブロッキングおよび非ブロッキングの詳細については、「 非同期クライアント ソケットの使用 」を参照してください。同期と非同期の両方のデータ転送で NetworkStream クラスを使用できます。同期通信および非同期通信の詳細については、「 ソケット 」を参照してください。 NetworkStream を作成するには、接続された Socket を提供する必要があります。その Socket に対する NetworkStream の FileAccess アクセス許可の種類を指定することもできます。既定では、 NetworkStream を閉じても、提供された Socket は閉じません。提供された Socket を閉じるためのアクセス許可を NetworkStream に指定するには、 ownsSocket コンストラクタ パラメータの値を true にする必要があります。
単純な 1 つのスレッドの同期ブロッキング I/O の場合は、 Write メソッドおよび Read メソッドを使用します。個別のスレッドを使用して I/O を処理する必要がある場合は、 BeginWrite/ EndWrite メソッドおよび BeginRead/ EndRead メソッドを使用して通信することを検討します。
NetworkStream は、ネットワーク データ ストリームへのランダム アクセスはサポートしていません。ストリームがシークをサポートしているかどうかを示す CanSeek プロパティの値は常に false です。 Position プロパティの読み取り、 Length プロパティの読み取り、または、 Seek メソッドの呼び出しを実行すると、 NotSupportedException がスローされます。
使用例
[Visual Basic, C#, C++] 接続された Stream Socket から NetworkStream を作成して、基本同期ブロッキング I/O を実行する方法を次の例に示します。
' 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
[C#]
// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;
if (networkStreamOwnsSocket){
myNetworkStream = new NetworkStream(mySocket, true);
}
else{
myNetworkStream = new NetworkStream(mySocket);
}
[C++]
// Create the NetworkStream for communicating with the remote host.
NetworkStream* myNetworkStream;
if (networkStreamOwnsSocket) {
myNetworkStream = new NetworkStream(mySocket, true);
} else {
myNetworkStream = new NetworkStream(mySocket);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Net.Sockets
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System (System.dll 内)