次の方法で共有


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 に対する NetworkStreamFileAccess アクセス許可の種類を指定することもできます。既定では、 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 内)

参照

NetworkStream メンバ | System.Net.Sockets 名前空間 | TcpClient