Socket クラス

定義

Berkeley ソケット インターフェイスを実装します。

public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
    interface IDisposable
Public Class Socket
Implements IDisposable
継承
Socket
実装

次のコード例は、このクラスを Socket 使用して HTTP サーバーにデータを送信し、応答を受信する方法を示しています。 次の使用例は、ページ全体を受信するまでブロックします。

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::IO;
using namespace System::Net;
using namespace System::Net::Sockets;
using namespace System::Collections;
Socket^ ConnectSocket( String^ server, int port )
{
   Socket^ s = nullptr;
   IPHostEntry^ hostEntry = nullptr;
   
   // Get host related information.
   hostEntry = Dns::Resolve( server );
   
   // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
   // an exception that occurs when the host IP Address is not compatible with the address family
   // (typical in the IPv6 case).
   IEnumerator^ myEnum = hostEntry->AddressList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      IPAddress^ address = safe_cast<IPAddress^>(myEnum->Current);
      IPEndPoint^ endPoint = gcnew IPEndPoint( address,port );
      Socket^ tmpS = gcnew Socket( endPoint->AddressFamily,SocketType::Stream,ProtocolType::Tcp );
      tmpS->Connect( endPoint );
      if ( tmpS->Connected )
      {
         s = tmpS;
         break;
      }
      else
      {
         continue;
      }
   }

   return s;
}

// This method requests the home page content for the specified server.
String^ SocketSendReceive( String^ server, int port )
{
   String^ request = String::Concat( "GET / HTTP/1.1\r\nHost: ", server, "\r\nConnection: Close\r\n\r\n" );
   array<Byte>^bytesSent = Encoding::ASCII->GetBytes( request );
   array<Byte>^bytesReceived = gcnew array<Byte>(256);
   String^ strRetPage = "";
   
   // Create a socket connection with the specified server and port.
   Socket^ s = ConnectSocket( server, port );
   if ( s == nullptr )
      return ("Connection failed");
   
   // Send request to the server.
   s->Send( bytesSent, bytesSent->Length, static_cast<SocketFlags>(0) );
   
   // Receive the server home page content.
   int bytes = 0;
   strRetPage = String::Concat( "Default HTML page on ", server, ":\r\n" );
   do
   {
      bytes = s->Receive( bytesReceived, bytesReceived->Length, static_cast<SocketFlags>(0) );
      strRetPage = String::Concat( strRetPage, Encoding::ASCII->GetString( bytesReceived, 0, bytes ) );
   }
   while ( bytes > 0 );
   
   s->Dispose();

   return strRetPage;
}

int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   String^ host;
   int port = 80;
   if ( args->Length == 1 )
      
   // If no server name is passed as argument to this program, 
   // use the current host name as default.
   host = Dns::GetHostName();
   else
      host = args[ 1 ];

   String^ result = SocketSendReceive( host, port );
   Console::WriteLine( result );
}
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;

public class GetSocket
{
    private static Socket ConnectSocket(string server, int port)
    {
        Socket s = null;
        IPHostEntry hostEntry = null;

        // Get host related information.
        hostEntry = Dns.GetHostEntry(server);

        // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
        // an exception that occurs when the host IP Address is not compatible with the address family
        // (typical in the IPv6 case).
        foreach(IPAddress address in hostEntry.AddressList)
        {
            IPEndPoint ipe = new IPEndPoint(address, port);
            Socket tempSocket =
                new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            tempSocket.Connect(ipe);

            if(tempSocket.Connected)
            {
                s = tempSocket;
                break;
            }
            else
            {
                continue;
            }
        }
        return s;
    }

    // This method requests the home page content for the specified server.
    private static string SocketSendReceive(string server, int port)
    {
        string request = "GET / HTTP/1.1\r\nHost: " + server +
            "\r\nConnection: Close\r\n\r\n";
        Byte[] bytesSent = Encoding.ASCII.GetBytes(request);
        Byte[] bytesReceived = new Byte[256];
        string page = "";

        // Create a socket connection with the specified server and port.
        using(Socket s = ConnectSocket(server, port)) {

            if (s == null)
                return ("Connection failed");

            // Send request to the server.
            s.Send(bytesSent, bytesSent.Length, 0);

            // Receive the server home page content.
            int bytes = 0;
            page = "Default HTML page on " + server + ":\r\n";

            // The following will block until the page is transmitted.
            do {
                bytes = s.Receive(bytesReceived, bytesReceived.Length, 0);
                page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
            }
            while (bytes > 0);
        }

        return page;
    }

    public static void Main(string[] args)
    {
        string host;
        int port = 80;

        if (args.Length == 0)
            // If no server name is passed as argument to this program,
            // use the current host name as the default.
            host = Dns.GetHostName();
        else
            host = args[0];

        string result = SocketSendReceive(host, port);
        Console.WriteLine(result);
    }
}
Imports System.Text
Imports System.IO
Imports System.Net
Imports System.Net.Sockets

Public Class GetSocket
   
   Private Shared Function ConnectSocket(server As String, port As Integer) As Socket
      Dim s As Socket = Nothing
      Dim hostEntry As IPHostEntry = Nothing      
     
         ' Get host related information.
        hostEntry = Dns.GetHostEntry(server)
         
         ' Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
         ' an exception that occurs when the host host IP Address is not compatible with the address family
         ' (typical in the IPv6 case).
      Dim address As IPAddress
 
        For Each address In  hostEntry.AddressList
            Dim endPoint As New IPEndPoint(address, port)
            Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
      
            tempSocket.Connect(endPoint)
            
            If tempSocket.Connected Then
               s = tempSocket
               Exit For
            End If

         Next address
      
      Return s
   End Function
   
   ' This method requests the home page content for the specified server.
   
   Private Shared Function SocketSendReceive(server As String, port As Integer) As String
      'Set up variables and String to write to the server.
      Dim ascii As Encoding = Encoding.ASCII
      Dim request As String = "GET / HTTP/1.1" + ControlChars.Cr + ControlChars.Lf + "Host: " + server + ControlChars.Cr + ControlChars.Lf + "Connection: Close" + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf
      Dim bytesSent As [Byte]() = ascii.GetBytes(request)
      Dim bytesReceived(255) As [Byte]
      Dim page As String = ""  
      
      ' Create a socket connection with the specified server and port.
      Dim s As Socket = ConnectSocket(server, port)
      
      If s Is Nothing Then
         Return "Connection failed"
      End If 
      ' Send request to the server.
      s.Send(bytesSent, bytesSent.Length, 0)
      
      ' Receive the server  home page content.
      Dim bytes As Int32
      
      ' Read the first 256 bytes.
      page = "Default HTML page on " + server + ":" + ControlChars.Cr + ControlChars.Lf
      
      ' The following will block until the page is transmitted.
      Do
         bytes = s.Receive(bytesReceived, bytesReceived.Length, 0)
            page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes)
      Loop While bytes > 0
      
      Return page
   End Function 
   
   'Entry point which delegates to C-style main Private Function
   Public Overloads Shared Sub Main()
      Main(System.Environment.GetCommandLineArgs())
   End Sub
   
   Overloads Private Shared Sub Main(args() As String)
      Dim host As String
      Dim port As Integer = 80
      
      If args.Length = 1 Then
         ' If no server name is passed as argument to this program, 
         ' use the current host name as default.
         host = Dns.GetHostName()
      Else
         host = args(1)
      End If 
      
      Dim result As String = SocketSendReceive(host, port)
      
      Console.WriteLine(result)
   End Sub
End Class

注釈

このクラスには Socket 、ネットワーク通信用の豊富なメソッドとプロパティのセットが用意されています。 この Socket クラスを使用すると、列挙に記載されている任意の通信プロトコルを使用して、同期データ転送と非同期データ転送の両方を ProtocolType 実行できます。

このクラスはSocket、非同期メソッドの.NET Framework名前付けパターンに従います。 たとえば、同期 Receive メソッドは非同期 BeginReceive メソッドと EndReceive メソッドに対応します。

実行中にアプリケーションで必要なスレッドが 1 つだけの場合は、同期操作モード用に設計された次のメソッドを使用します。

  • TCP などの接続指向プロトコルを使用している場合、サーバーはメソッドを使用して接続を Listen リッスンできます。 このメソッドは Accept 、受信した接続要求を処理し、リモート ホストとのデータ通信に使用できる a を返 Socket します。 返されたSocketメソッドをReceive呼び出すには、このメソッドをSend使用します。 ローカル IP アドレスとポート番号を Bind 指定する場合は、メソッドを呼び出す前にメソッドを呼び出 Listen します。 基になるサービス プロバイダーに空きポートを割り当てる場合は、ポート番号 0 を使用します。 リッスンしているホストに接続する場合は、メソッドを Connect 呼び出します。 データを通信するには、or Receive メソッドをSend呼び出します。

  • UDP などのコネクションレス プロトコルを使用している場合は、接続をリッスンする必要はまったくありません。 メソッドを ReceiveFrom 呼び出して、受信データグラムを受け入れます。 このメソッドを SendTo 使用して、リモート ホストにデータグラムを送信します。

実行中に個別のスレッドを使用して通信を処理するには、非同期操作モード用に設計された次のメソッドを使用します。

1 つのソケットに対して複数の非同期操作を実行する場合、それらが開始された順序で必ずしも完了するとは限りません。

データの送受信が完了したら、メソッドを Shutdown 使用して Socket. 呼び出した Shutdown後、メソッドを Close 呼び出して、に関連付けられているすべてのリソースを解放します Socket

このSocketクラスを使用すると、メソッドを使用してSetSocketOption構成できますSocket。 メソッドを使用してこれらの設定を GetSocketOption 取得します。

注意

比較的単純なアプリケーションを記述していて、最大のパフォーマンスを必要としない場合は、使用することをTcpClient検討してください。 TcpListenerUdpClient これらのクラスは、通信に対するよりシンプルで使いやすいインターフェイスを Socket 提供します。

コンストラクター

Socket(AddressFamily, SocketType, ProtocolType)

指定したアドレス ファミリ、ソケットの種類、およびプロトコルを使用して、Socket クラスの新しいインスタンスを初期化します。

Socket(SafeSocketHandle)

ソケット ハンドルを指定して Socket クラスの新しいインスタンスを初期化します。

Socket(SocketInformation)

DuplicateAndClose(Int32) から返された値を指定して、Socket クラスの新しいインスタンスを初期化します。

Socket(SocketType, ProtocolType)

指定したソケットの種類とプロトコルを使用して、Socket クラスの新しいインスタンスを初期化します。 オペレーティング システムが IPv6 をサポートしている場合、このコンストラクターはデュアル モード ソケットを作成します。それ以外の場合は、IPv4 ソケットが作成されます。

プロパティ

AddressFamily

Socket のアドレス ファミリを取得します。

Available

ネットワークから受信した、読み取り可能なデータ量を取得します。

Blocking

Socket がブロッキング モードかどうかを示す値を取得または設定します。

Connected

最後に実行された Send 操作または Receive 操作の時点で、Socket がリモート ホストに接続されていたかどうかを示す値を取得します。

DontFragment

Socket でインターネット プロトコル (IP) データグラムの断片化を許可するかどうかを指定する値を、取得または設定します。

DualMode

IPv4 と IPv6 の両方に Socket 使用されるデュアル モード ソケットかどうかを示す値を取得または設定します。

EnableBroadcast

ブロードキャスト パケットを Boolean 送信できるかどうかを示す値を Socket 取得または設定します。

ExclusiveAddressUse

Socket で 1 つのプロセスだけにポートのバインドを許可するかどうかを指定する Boolean 値を取得または設定します。

Handle

Socket のオペレーティング システム ハンドルを取得します。

IsBound

Socket が特定のローカル ポートにバインドされているかどうかを示す値を取得します。

LingerState

Socket で、すべての保留中のデータを送信しようとするときにソケットを遅延して閉じるかどうかを指定する値を取得または設定します。

LocalEndPoint

ローカル エンドポイントを取得します。

MulticastLoopback

発信マルチキャスト パケットが送信元アプリケーションに配信されるかどうかを指定する値を取得または設定します。

NoDelay

ストリーム Socket が Nagle アルゴリズムを使用するかどうかを指定する Boolean 値を取得または設定します。

OSSupportsIPv4

基になるオペレーティング システムおよびネットワーク アダプターが、インターネット プロトコル バージョン 4 (IPv4) をサポートするかどうかを示します。

OSSupportsIPv6

基になるオペレーティング システムおよびネットワーク アダプターが、インターネット プロトコル バージョン 6 (IPv6) をサポートするかどうかを示します。

OSSupportsUnixDomainSockets

基になるオペレーティング システムで Unix ドメイン ソケットがサポートされているかどうかを示します。

ProtocolType

Socket のプロトコルの種類を取得します。

ReceiveBufferSize

Socket の受信バッファーのサイズを指定する値を取得または設定します。

ReceiveTimeout

同期の Receive 呼び出しがタイムアウトするまでの合計時間を指定する値を取得または設定します。

RemoteEndPoint

リモート エンドポイントを取得します。

SafeHandle

現在の Socket オブジェクトによってカプセル化されているソケット ハンドルを表す SafeSocketHandle を取得します。

SendBufferSize

Socket の送信バッファーのサイズを指定する値を取得または設定します。

SendTimeout

同期の Send 呼び出しがタイムアウトするまでの合計時間を指定する値を取得または設定します。

SocketType

Socket の型を取得します。

SupportsIPv4
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

現在のホストで IPv4 サポートが使用可能で有効になっているかどうかを示す値を取得します。

SupportsIPv6
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

互換性のために残されている特定の Dns メンバー向けに、フレームワークが IPv6 をサポートしているかどうかを示す値を取得します。

Ttl

Socket によって送信されたインターネット プロトコル (IP) パケットの有効期間 (TTL) の値を指定する値を取得または設定します。

UseOnlyOverlappedIO
互換性のために残されています。

ソケットで重複 I/O モードのみを使用するかどうかを指定する値を取得または設定します。 .NET 5 以降 (.NET Core バージョンを含む) では、値は常に false.

メソッド

Accept()

新しく作成された接続に対して新しい Socket を作成します。

AcceptAsync()

受信接続を受け入れます。

AcceptAsync(CancellationToken)

受信接続を受け入れます。

AcceptAsync(Socket)

受信接続を受け入れます。

AcceptAsync(Socket, CancellationToken)

受信接続を受け入れます。

AcceptAsync(SocketAsyncEventArgs)

受信接続の試行を受け入れる非同期操作を開始します。

BeginAccept(AsyncCallback, Object)

受信接続の試行を受け入れる非同期操作を開始します。

BeginAccept(Int32, AsyncCallback, Object)

受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。

BeginAccept(Socket, Int32, AsyncCallback, Object)

指定したソケットから受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。

BeginConnect(EndPoint, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストは IPAddress とポート番号で指定されます。

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストは、IPAddress 配列とポート番号で指定されます。

BeginConnect(String, Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストはホスト名とポート番号で指定されます。

BeginDisconnect(Boolean, AsyncCallback, Object)

リモート エンドポイントからの切断の非同期要求を開始します。

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket からの非同期のデータ受信を開始します。

BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

指定したネットワーク デバイスから、データの非同期の受信を開始します。

BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

指定した SocketFlags を使用し、指定したバイト数のデータの非同期受信を開始して、データ バッファー内の指定した位置に格納します。さらに、エンドポイントとパケット情報を格納します。

BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

接続されている Socket にデータを非同期的に送信します。

BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket にデータを非同期的に送信します。

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

接続されている Socket にデータを非同期的に送信します。

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

接続されている Socket にデータを非同期的に送信します。

BeginSendFile(String, AsyncCallback, Object)

UseDefaultWorkerThread フラグを使用して、接続されている Socket オブジェクトにファイル fileName を送信します。

BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)

接続された Socket オブジェクトに、ファイルとデータのバッファーを非同期的に送信します。

BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

特定のリモート ホストにデータを非同期的に送信します。

Bind(EndPoint)

Socket をローカル エンドポイントと関連付けます。

CancelConnectAsync(SocketAsyncEventArgs)

リモート ホスト接続への非同期要求を取り消します。

Close()

Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。

Close(Int32)

Socket 接続を閉じ、すべての関連付けられているリソースを指定したタイムアウトで解放して、キューに置かれたデータの送信を許可します。

Connect(EndPoint)

リモート ホストへの接続を確立します。

Connect(IPAddress, Int32)

リモート ホストへの接続を確立します。 ホストは、IP アドレスとポート番号で指定されます。

Connect(IPAddress[], Int32)

リモート ホストへの接続を確立します。 ホストは、IP アドレスの配列とポート番号で指定されます。

Connect(String, Int32)

リモート ホストへの接続を確立します。 ホストはホスト名とポート番号で指定されます。

ConnectAsync(EndPoint)

リモート ホストへの接続を確立します。

ConnectAsync(EndPoint, CancellationToken)

リモート ホストへの接続を確立します。

ConnectAsync(IPAddress, Int32)

リモート ホストへの接続を確立します。

ConnectAsync(IPAddress, Int32, CancellationToken)

リモート ホストへの接続を確立します。

ConnectAsync(IPAddress[], Int32)

リモート ホストへの接続を確立します。

ConnectAsync(IPAddress[], Int32, CancellationToken)

リモート ホストへの接続を確立します。

ConnectAsync(SocketAsyncEventArgs)

リモート ホストに接続する非同期要求を開始します。

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

リモート ホストに接続する非同期要求を開始します。

ConnectAsync(String, Int32)

リモート ホストへの接続を確立します。

ConnectAsync(String, Int32, CancellationToken)

リモート ホストへの接続を確立します。

Disconnect(Boolean)

ソケット接続を閉じ、ソケットを再利用できるようにします。

DisconnectAsync(Boolean, CancellationToken)

接続されているソケットをリモート ホストから切断します。

DisconnectAsync(SocketAsyncEventArgs)

リモート エンドポイントからの切断の非同期要求を開始します。

Dispose()

Socket クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

Dispose(Boolean)

Socket が使用しているアンマネージド リソースを解放します。オプションでマネージド リソースも破棄します。

DuplicateAndClose(Int32)

ターゲット プロセスのソケット参照を複製してこのプロセスのソケットを閉じます。

EndAccept(Byte[], IAsyncResult)

受信接続の試行を非同期的に受け入れ、新しい Socket オブジェクトを作成してリモート ホスト通信を処理します。 このメソッドは、転送される初期データを格納するバッファーを返します。

EndAccept(Byte[], Int32, IAsyncResult)

受信接続の試行を非同期的に受け入れ、新しい Socket オブジェクトを作成してリモート ホスト通信を処理します。 このメソッドは、初期データと、転送されたバイト数を格納するバッファーを返します。

EndAccept(IAsyncResult)

受信接続の試行を非同期的に受け入れ、新しい Socket を作成してリモート ホスト通信を処理します。

EndConnect(IAsyncResult)

保留中の非同期接続要求を終了します。

EndDisconnect(IAsyncResult)

保留中の非同期切断要求を終了します。

EndReceive(IAsyncResult)

保留中の非同期読み取りを終了します。

EndReceive(IAsyncResult, SocketError)

保留中の非同期読み取りを終了します。

EndReceiveFrom(IAsyncResult, EndPoint)

特定のエンドポイントからの、保留中の非同期読み込みを終了します。

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation)

特定のエンドポイントからの、保留中の非同期読み込みを終了します。 また、このメソッドは、EndReceiveFrom(IAsyncResult, EndPoint) よりもパケットに関するより多くの情報を示します。

EndSend(IAsyncResult)

保留中の非同期送信を終了します。

EndSend(IAsyncResult, SocketError)

保留中の非同期送信を終了します。

EndSendFile(IAsyncResult)

ファイルの保留中の非同期送信を終了します。

EndSendTo(IAsyncResult)

特定の場所への、保留中の非同期送信を終了します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

Socket クラスによって使用されていたリソースを解放します。

GetHashCode()

Socket インスタンスのハッシュ値を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetRawSocketOption(Int32, Int32, Span<Byte>)

プラットフォーム固有のレベル識別子と名前識別子を使用して、ソケット オプションの値を取得します。

GetSocketOption(SocketOptionLevel, SocketOptionName)

指定した Socket オプションの値をオブジェクトとして返します。

GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

指定した Socket オプション設定をバイト配列として返します。

GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

指定した Socket オプションの値を配列で返します。

GetType()

現在のインスタンスの Type を取得します。

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

数値制御コードを使用して、Socket の下位操作モードを設定します。

IOControl(IOControlCode, Byte[], Byte[])

IOControlCode 列挙型を使用して制御コードを指定し、Socket の下位操作モードを設定します。

Listen()

Socket をリッスン状態にします。

Listen(Int32)

Socket をリッスン状態にします。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Poll(Int32, SelectMode)

Socket の状態を確認します。

Receive(Byte[])

バインドされた Socket からデータを受信し、受信バッファーに格納します。

Receive(Byte[], Int32, Int32, SocketFlags)

指定した SocketFlags を使用し、バインドされた Socket から指定したバイト数のデータを受信して、受信バッファー内の指定したオフセット位置に格納します。

Receive(Byte[], Int32, Int32, SocketFlags, SocketError)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーに格納します。

Receive(Byte[], Int32, SocketFlags)

指定した SocketFlags を使用し、バインドされた Socket から指定したバイト数のデータを受信して受信バッファーに格納します。

Receive(Byte[], SocketFlags)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーに格納します。

Receive(IList<ArraySegment<Byte>>)

バインドされた Socket からデータを受信して、受信バッファーのリストに格納します。

Receive(IList<ArraySegment<Byte>>, SocketFlags)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーのリストに格納します。

Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーのリストに格納します。

Receive(Span<Byte>)

バインドされた Socket からデータを受信し、受信バッファーに格納します。

Receive(Span<Byte>, SocketFlags)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーに格納します。

Receive(Span<Byte>, SocketFlags, SocketError)

指定した SocketFlags を使用し、バインドされた Socket からデータを受信して受信バッファーに格納します。

ReceiveAsync(ArraySegment<Byte>)

接続されたソケットからデータを受信します。

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

接続されたソケットからデータを受信します。

ReceiveAsync(IList<ArraySegment<Byte>>)

接続されたソケットからデータを受信します。

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

接続されたソケットからデータを受信します。

ReceiveAsync(Memory<Byte>, CancellationToken)

接続されたソケットからデータを受信します。

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

接続されたソケットからデータを受信します。

ReceiveAsync(SocketAsyncEventArgs)

接続されている Socket オブジェクトからデータを受信する非同期要求を開始します。

ReceiveFrom(Byte[], EndPoint)

データグラムを受信してデータバッファーに格納します。さらに、エンドポイントを格納します。

ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)

指定した SocketFlags を使用して、指定したバイト数のデータを受信して、データ バッファー内の指定した位置に格納します。またエンドポイントを格納します。

ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint)

指定した SocketFlags を使用し、指定したバイト数のデータを受信してデータ バッファーに格納します。さらに、エンドポイントを格納します。

ReceiveFrom(Byte[], SocketFlags, EndPoint)

指定した SocketFlags を使用し、データグラムを受信してデータバッファーに格納します。さらに、エンドポイントを格納します。

ReceiveFrom(Span<Byte>, EndPoint)

データグラムを受信してデータバッファーに格納します。さらに、エンドポイントを格納します。

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

指定した SocketFlags を使用し、データグラムを受信してデータバッファーに格納します。さらに、エンドポイントを格納します。

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

データを受信し、送信ホストのエンドポイントを返します。

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

データを受信し、送信ホストのエンドポイントを返します。

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

データを受信し、送信ホストのエンドポイントを返します。

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

データを受信し、送信ホストのエンドポイントを返します。

ReceiveFromAsync(SocketAsyncEventArgs)

指定したネットワーク デバイスから、データの非同期の受信を開始します。

ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)

指定した SocketFlags を使用して、指定したバイト数のデータをデータ バッファー内の指定した位置で受信して、エンドポイントおよびパケット情報を格納します。

ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)

指定した socketFlags を使用して、指定したバイト数のデータをデータ バッファー内の指定した位置で受信して、エンドポイントおよびパケット情報を格納します。

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

データを受信し、メッセージの送信者に関する追加情報を返します。

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

データを受信し、メッセージの送信者に関する追加情報を返します。

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

データを受信し、メッセージの送信者に関する追加情報を返します。

ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

データを受信し、メッセージの送信者に関する追加情報を返します。

ReceiveMessageFromAsync(SocketAsyncEventArgs)

指定された SocketFlags を使用し、指定されたバイト数のデータの非同期受信を開始して、データ バッファー内の指定された場所に格納します。さらに、エンドポイントとパケットの情報を格納します。

Select(IList, IList, IList, Int32)

1 つまたは複数のソケットのステータスを判断します。

Send(Byte[])

接続された Socket にデータを送信します。

Send(Byte[], Int32, Int32, SocketFlags)

指定したオフセットから開始し、指定した SocketFlags を使用して、指定したバイト数のデータを接続された Socket に送信します。

Send(Byte[], Int32, Int32, SocketFlags, SocketError)

指定したオフセットから開始し、指定した SocketFlags を使用して、指定したバイト数のデータを接続された Socket に送信します。

Send(Byte[], Int32, SocketFlags)

指定した SocketFlags を使用し、指定したバイト数のデータを、接続された Socket に送信します。

Send(Byte[], SocketFlags)

指定した SocketFlags を使用して、接続された Socket にデータを送信します。

Send(IList<ArraySegment<Byte>>)

リスト内のバッファーのセットを接続された Socket に送信します。

Send(IList<ArraySegment<Byte>>, SocketFlags)

指定した SocketFlags を使用して、リスト内のバッファーのセットを接続された Socket に送信します。

Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

指定した SocketFlags を使用して、リスト内のバッファーのセットを接続された Socket に送信します。

Send(ReadOnlySpan<Byte>)

接続された Socket にデータを送信します。

Send(ReadOnlySpan<Byte>, SocketFlags)

指定した SocketFlags を使用して、接続された Socket にデータを送信します。

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

指定した SocketFlags を使用して、接続された Socket にデータを送信します。

SendAsync(ArraySegment<Byte>)

接続されているソケットでデータを送信します。

SendAsync(ArraySegment<Byte>, SocketFlags)

接続されているソケットでデータを送信します。

SendAsync(IList<ArraySegment<Byte>>)

接続されているソケットでデータを送信します。

SendAsync(IList<ArraySegment<Byte>>, SocketFlags)

接続されているソケットでデータを送信します。

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

接続されているソケットでデータを送信します。

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

接続されているソケットでデータを送信します。

SendAsync(SocketAsyncEventArgs)

接続されている Socket オブジェクトに、データを非同期に送信します。

SendFile(String)

UseDefaultWorkerThread 送信フラグを使用して、接続されている Socket オブジェクトにファイル fileName を送信します。

SendFile(String, Byte[], Byte[], TransmitFileOptions)

指定した TransmitFileOptions 値を使用して、接続された Socket オブジェクトにファイル fileName およびデータのバッファーを送信します。

SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions)

指定した TransmitFileOptions 値を使用して、接続された Socket オブジェクトにファイル fileName およびデータのバッファーを送信します。

SendFileAsync(String, CancellationToken)

接続SocketされたオブジェクトにファイルfileNameを送信します。

SendFileAsync(String, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, TransmitFileOptions, CancellationToken)

指定した TransmitFileOptions 値を使用して、接続された Socket オブジェクトにファイル fileName およびデータのバッファーを送信します。

SendPacketsAsync(SocketAsyncEventArgs)

接続されている Socket オブジェクトに、ファイルのコレクションまたはメモリ内のデータ バッファーを非同期に送信します。

SendTo(Byte[], EndPoint)

指定したエンドポイントにデータを送信します。

SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)

指定した SocketFlags を使用し、指定したバイト数のデータを、指定したエンドポイントに送信します。送信はバッファー内の指定した位置から開始されます。

SendTo(Byte[], Int32, SocketFlags, EndPoint)

指定した SocketFlags を使用し、指定したバイト数のデータを、指定したエンドポイントに送信します。

SendTo(Byte[], SocketFlags, EndPoint)

指定した SocketFlags を使用して、特定のエンドポイントにデータを送信します。

SendTo(ReadOnlySpan<Byte>, EndPoint)

指定したエンドポイントにデータを送信します。

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

指定した SocketFlags を使用して、特定のエンドポイントにデータを送信します。

SendToAsync(ArraySegment<Byte>, EndPoint)

指定したリモート ホストにデータを送信します。

SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

指定したリモート ホストにデータを送信します。

SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)

指定したリモート ホストにデータを送信します。

SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken)

指定したリモート ホストにデータを送信します。

SendToAsync(SocketAsyncEventArgs)

特定のリモート ホストにデータを非同期的に送信します。

SetIPProtectionLevel(IPProtectionLevel)

ソケットの IP 保護レベルを設定します。

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

プラットフォーム固有のレベル識別子と名前識別子を使用して、ソケット オプションの値を設定します。

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

指定した Socket オプションを、指定した Boolean 値に設定します。

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

指定した Socket オプションを、指定した整数値に設定します。

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。

Shutdown(SocketShutdown)

Socket での送受信を無効にします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

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

IDisposable.Dispose()

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

Socket によって使用されているすべてのリソースを解放します。

拡張メソッド

AcceptAsync(Socket)

ソケットでの受信接続の試行を受け入れる非同期操作を実行します。

AcceptAsync(Socket, Socket)

ソケットでの受信接続の試行を受け入れる非同期操作を実行します。

ConnectAsync(Socket, EndPoint)

リモート ホストへの接続を確立します。

ConnectAsync(Socket, EndPoint, CancellationToken)

リモート ホストへの接続を確立します。

ConnectAsync(Socket, IPAddress, Int32)

リモート ホストへの接続を確立します。 ホストは、IP アドレスとポート番号で指定されます。

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

リモート ホストへの接続を確立します。これは IP アドレスとポート番号で指定します。

ConnectAsync(Socket, IPAddress[], Int32)

リモート ホストへの接続を確立します。 ホストは、IP アドレスの配列とポート番号で指定されます。

ConnectAsync(Socket, IPAddress[], Int32, CancellationToken)

リモート ホストへの接続を確立します。これは IP アドレスの配列とポート番号で指定します。

ConnectAsync(Socket, String, Int32)

リモート ホストへの接続を確立します。 ホストはホスト名とポート番号で指定されます。

ConnectAsync(Socket, String, Int32, CancellationToken)

リモート ホストへの接続を確立します。これはホスト名とポート番号で指定します。

ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)

接続されたソケットからデータを受信します。

ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

接続されたソケットからデータを受信します。

ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken)

接続されたソケットからデータを受信します。

ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

指定したネットワーク デバイスからデータを受信します。

ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

指定した SocketFlags を使用して、指定したバイト数のデータをデータ バッファー内の指定した位置で受信して、エンドポイントおよびパケット情報を格納します。

SendAsync(Socket, ArraySegment<Byte>, SocketFlags)

接続されたソケットにデータを送信します。

SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

接続されたソケットにデータを送信します。

SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

接続されたソケットにデータを送信します。

SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

特定のリモート ホストにデータを非同期的に送信します。

適用対象

スレッド セーフ

このクラスのインスタンスはスレッド セーフです。

こちらもご覧ください