SocketType 列挙体とは? わかりやすく解説

SocketType 列挙体

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

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

public enum SocketType
public enum class SocketType
public enum SocketType
public enum SocketType
メンバメンバ
 メンバ名説明
.NET Compact Framework によるサポートDgramデータグラムをサポートしています。これはコネクションレスで、固定 (通常は短い) 最大長の、信頼性のないメッセージです。メッセージが失われるか複製されたり、正しい順序で受信されない可能性があります。Dgram 型の Socket はデータの送受信に先立って接続する必要がなく、複数のピアと通信できます。Dgram はデータグラム プロトコル (Udp) と InterNetworkAddressFamily を使用します。 
.NET Compact Framework によるサポートRaw基になるトランスポート プロトコルへのアクセスをサポートします。SocketTypeRaw を使用すると、インターネット コントロール メッセージ プロトコル (Icmp) やインターネット グループ管理プロトコル (Igmp) などのプロトコルを使用して通信を行うことができます。ユーザーのアプリケーションが送信時に完全な IP ヘッダーを提供する必要があります。受信データグラムは IP ヘッダーとオプションをそのまま返します。 
.NET Compact Framework によるサポートRdmコネクションレスでメッセージ指向の、配信の信頼性が高いメッセージをサポートし、データ内のメッセージ境界を維持します。Rdm (Reliably Delivered Messages) メッセージは複製されず、順番に到着します。また、メッセージが失われたときには送信元に通知されます。Rdm を使用して Socket を初期化した場合には、データの送受信の前にリモート ホストに接続しておく必要はありません。Rdm では複数のピアと通信できます。 
.NET Compact Framework によるサポートSeqpacketネットワーク全体に、順序付きバイト ストリームの、コネクション指向で信頼性の高い双方向転送を提供します。Seqpacket はデータを複製せず、データ ストリーム内の境界を維持します。Seqpacket 型の Socket は単一のピアと通信し、通信を開始する前にリモート ホスト接続を確立しておく必要があります。 
.NET Compact Framework によるサポートStreamデータの複製および境界の維持を行うことなく、信頼性が高く双方向の、接続ベースのバイト ストリームをサポートします。この型の Socket は単一のピアと通信し、通信を開始する前にリモート ホスト接続を確立しておく必要があります。Stream は伝送制御プロトコル (Tcp) ProtocolType および InterNetworkAddressFamily を使用します。 
.NET Compact Framework によるサポートUnknown不明な Socket 型を指定します。 
解説解説

データを送受信するには、AddressFamily、SocketType、および ProtocolType を使用して Socket を作成しておく必要があります。このとき、SocketType 列挙値は、開く Socket の種類を定義するいくつかのオプションを提供します。

メモメモ

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

使用例使用例

Stream の列挙されたメンバを、Socket コンストラクタへのパラメータとして使用する例を次に示します。

'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork,
 SocketType.Stream, ProtocolType.Tcp)

' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
   strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
   Console.WriteLine("This Socket is writable.")
Else
   If s.Poll(- 1, SelectMode.SelectRead) Then
      Console.WriteLine(("This Socket is readable. "))
   Else
      If s.Poll(- 1, SelectMode.SelectError) Then
         Console.WriteLine("This Socket has an error.")
      End If
   End If 
//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.");
 }

//Creates the Socket for sending data over TCP.
Socket^ s = gcnew 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." );
}
//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.get_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 should not print."
            + "Because this is not a listening Socket,"
            + " no incoming connecton requests are expected. ");
    }
    else {
        if (s.Poll(-1, SelectMode.SelectError)) {
            Console.WriteLine("This Socket has an error.");
        }
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Net.Sockets 名前空間
AddressFamily 列挙体
ProtocolType 列挙体
Socket クラス



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SocketType 列挙体」の関連用語

SocketType 列挙体のお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



SocketType 列挙体のページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS