英語で読む

次の方法で共有


SocketType 列挙型

定義

Socket クラスのインスタンスが表すソケットの種類を指定します。

C#
public enum SocketType
継承
SocketType

フィールド

名前 説明
Dgram 2

データグラムをサポートしています。これはコネクションレスで、固定 (通常は短い) 最大長の、信頼性のないメッセージです。 メッセージが喪失または複製されたり、正しい順序で受信されなかったりする可能性があります。 Socket 型の Dgram はデータの送受信に先立って接続する必要がなく、複数のピアと通信できます。 Dgramは、データグラム プロトコル (ProtocolType.Udp) と アドレスInterNetwork ファミリをAddressFamily使用します。

Raw 3

基になるトランスポート プロトコルへのアクセスをサポートします。 Raw を使用すると、インターネット コントロール メッセージ プロトコル (ProtocolType.Icmp) やインターネット グループ管理プロトコル (ProtocolType.Igmp) などのプロトコルを使用して通信を行うことができます。 ユーザーのアプリケーションが送信時に完全な IP ヘッダーを提供する必要があります。 受信データグラムは IP ヘッダーとオプションをそのまま返します。

Rdm 4

コネクションレスでメッセージ指向の、配信の信頼性が高いメッセージをサポートし、データ内のメッセージ境界を維持します。 Rdm (Reliably Delivered Messages) メッセージは複製されず、順番に到着します。 また、メッセージが失われたときには送信元に通知されます。 Rdm を使用して Socket を初期化した場合には、データの送受信の前にリモート ホストに接続しておく必要はありません。 Rdm では複数のピアと通信できます。

Seqpacket 5

ネットワーク全体に、順序付きバイト ストリームの、コネクション指向で信頼性の高い双方向転送を提供します。 Seqpacket はデータを複製せず、データ ストリーム内の境界を維持します。 Seqpacket 型の Socket は単一のピアと通信し、通信を開始する前にリモート ホスト接続を確立しておく必要があります。

Stream 1

データの複製および境界の維持を行うことなく、信頼性が高く双方向の、接続ベースのバイト ストリームをサポートします。 この種類の Socket は、単一のピアと通信し、通信を開始する前にリモート ホスト接続を確立しておく必要があります。 Streamは、伝送制御プロトコル (ProtocolType.Tcp) と アドレスInterNetwork ファミリをAddressFamily使用します。

Unknown -1

不明な Socket 型を指定します。

次の例では、 をコンストラクターのSocketパラメーターとして 使用SocketType.Streamしています。

C#
//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 }
 else if (s.Poll(-1, SelectMode.SelectRead)){
       Console.WriteLine("This Socket is readable." );
 }
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");
 }

注釈

データを Socket 送受信するには、まず、および を AddressFamily使用してデータを SocketType作成する ProtocolType必要があります。 列挙には SocketType 、開く対象の の Socket 型を定義するためのオプションがいくつか用意されています。

注意

SocketType では、 内で使用される が ProtocolType 暗黙的に AddressFamily示される場合があります。 たとえば、 が のSystem.Net.Sockets.SocketType場合、 System.Net.Sockets.ProtocolTypeSocketType.Dgram常に ProtocolType.Udpです。 が のSystem.Net.Sockets.SocketTypeSocketType.Stream場合、 System.Net.Sockets.ProtocolType は常に ProtocolType.Tcpです。 互換性のない組み合わせを使用して を作成 Socket しようとすると、 Socket がスローされます SocketException

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください