socket_sendとは? わかりやすく解説

Socket.Send メソッド (Byte[], Int32, Int32, SocketFlags)

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

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

Public Function Send ( _
    buffer As Byte(), _
    offset As Integer, _
    size As Integer, _
    socketFlags As SocketFlags _
) As Integer
Dim instance As Socket
Dim buffer As Byte()
Dim offset As Integer
Dim size As Integer
Dim socketFlags As SocketFlags
Dim returnValue As Integer

returnValue = instance.Send(buffer, offset, size, socketFlags)
public int Send (
    byte[] buffer,
    int offset,
    int size,
    SocketFlags socketFlags
)
public:
int Send (
    array<unsigned char>^ buffer, 
    int offset, 
    int size, 
    SocketFlags socketFlags
)
public int Send (
    byte[] buffer, 
    int offset, 
    int size, 
    SocketFlags socketFlags
)
public function Send (
    buffer : byte[], 
    offset : int, 
    size : int, 
    socketFlags : SocketFlags
) : int

パラメータ

buffer

送信するデータ格納する Byte 型の配列

offset

データ送信開始するデータ バッファ内の位置

size

送信するバイト数。

socketFlags

SocketFlags 値のビットごとの組み合わせ

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffernull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset が 0 未満です。

または

offsetbuffer長さ超えてます。

または

size が 0 未満です。

または

size が、buffer長さから offset パラメータの値を引いた値を超えてます。

SocketException

socketFlags が、値の有効な組み合わせではありません。

または

Socketアクセス中にオペレーティング システム エラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、Connect メソッドまたは Accept メソッド指定されリモート ホスト同期的データ送信し正常に送信されたバイト数を返しますSendコネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードで、DontRoute フラグsocketflags パラメータとして指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo を使用してくださいSendTo使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後で使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

また、サイズが、基になるサービス プロバイダ最大パケット サイズ超えないことを確認する必要もあります最大サイズ超えている場合データグラム送信されず、SendSocketExceptionスローます。

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限り要求されたバイト数が送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、要求したバイト数より Send送信したバイト数の方が小さくても、このメソッド正常に完了します送信されたバイト数を監視し要求されたバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : このメソッド長さ 0 のデータ送信した場合結果は、.NET Compact Framework ではなくネイティブ オペレーティング システムによって決まります

使用例使用例

データ バッファオフセットサイズ、および接続されSocketデータ送信する SocketFlags指定するコード例次に示します

' Displays sending with a connected socket
' using the overload that takes a buffer, offset, message size, and
 socket flags.
Public Shared Function SendReceiveTest4(ByVal
 server As Socket) As Integer
 
    Dim msg As Byte() =
 Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer
 = server.Send(msg, 0, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, SocketFlags.None)
        
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.",
 e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest4

// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and
 socket flags.
public static int SendReceiveTest4(Socket
 server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, 0, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);
        
        // Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, 
                                   SocketFlags.None);

        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and
 socket flags.
int SendReceiveTest4( Socket^ server )
{
   array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test"
 );
   array<Byte>^ bytes = gcnew array<Byte>(256);
   try
   {
      
      // Blocks until send returns.
      int byteCount = server->Send( msg, 0, msg->Length,
 SocketFlags::None );
      Console::WriteLine( "Sent {0} bytes.", byteCount.ToString() );
      
      // Get reply from the server.
      byteCount = server->Receive( bytes, 0, server->Available,
         SocketFlags::None );
      if ( byteCount > 0 )
      {
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
      }
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine(  "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString()
 );
      return (e->ErrorCode);
   }
   return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size,
// and socket flags.
public static int SendReceiveTest4(Socket
 server)
{
    ubyte msg[] = Encoding.get_UTF8().GetBytes("This is a test");
    ubyte bytes[] = new ubyte[256];
    try {
        // Blocks until send returns.
        int i = server.Send(msg, 0, msg.get_Length(), SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", (Int32)i);
        // Get reply from the server.
        server.Receive(bytes, 0, server.get_Available(), SocketFlags.None);
        Console.WriteLine(Encoding.get_UTF8().GetString(bytes));
    }
    catch (SocketException e) {
        Console.WriteLine("{0} Error code: {1}.", e.get_Message(),
            (Int32)e.get_ErrorCode());
        return e.get_ErrorCode();
    }
    return 0;
} //SendReceiveTest4
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド (ジェネリック IList)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

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

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

Public Function Send ( _
    buffers As IList(Of ArraySegment(Of
 Byte)) _
) As Integer
Dim instance As Socket
Dim buffers As IList(Of
 ArraySegment(Of Byte))
Dim returnValue As Integer

returnValue = instance.Send(buffers)
public int Send (
    IList<ArraySegment<byte>> buffers
)
public:
int Send (
    IList<ArraySegment<unsigned char>>^ buffers
)
public int Send (
    IList<ArraySegment<byte>> buffers
)
public function Send (
    buffers : IList<ArraySegment<byte>>
) : int

パラメータ

buffers

送信するデータ格納する Byte 型の ArraySegment のリスト

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffersnull 参照 (Visual Basic では Nothing) です。

ArgumentException

buffers が空です。

SocketException

ソケットへのアクセス試みているときにエラー発生しました。以下の解説参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、コネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードには、送信するデータ格納するバッファ少なくとも 1 つ必要です。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限りバッファ内のすべてのバイト送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、Send送信したバイト数がバッファ内のバイト数より小さくても、このメソッド正常に完了します送信されたバイト数を監視しバッファ内のバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Socket.Send メソッド (Byte[], Int32, SocketFlags)

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

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

Public Function Send ( _
    buffer As Byte(), _
    size As Integer, _
    socketFlags As SocketFlags _
) As Integer
Dim instance As Socket
Dim buffer As Byte()
Dim size As Integer
Dim socketFlags As SocketFlags
Dim returnValue As Integer

returnValue = instance.Send(buffer, size, socketFlags)
public int Send (
    byte[] buffer,
    int size,
    SocketFlags socketFlags
)
public:
int Send (
    array<unsigned char>^ buffer, 
    int size, 
    SocketFlags socketFlags
)
public int Send (
    byte[] buffer, 
    int size, 
    SocketFlags socketFlags
)
public function Send (
    buffer : byte[], 
    size : int, 
    socketFlags : SocketFlags
) : int

パラメータ

buffer

送信するデータ格納する Byte 型の配列

size

送信するバイト数。

socketFlags

SocketFlags 値のビットごとの組み合わせ

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffernull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

size が 0 未満か、バッファサイズ超える値です。

SocketException

socketFlags が、値の有効な組み合わせではありません。

または

ソケットへのアクセス中にオペレーティング システム エラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、Connect メソッドまたは Accept メソッド確立されリモート ホスト同期的データ送信し正常に送信されたバイト数を返しますSendコネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードには、送信するデータ送信するデータバイト数、および SocketFlagsビットごとの組み合わせ格納するバッファが必要です。DontRoute フラグsocketflags パラメータとして指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send メソッドへの各呼び出し前に Connect メソッド呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限り要求されたバイト数が送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、要求したバイト数より Send送信したバイト数の方が小さくても、このメソッド正常に完了します送信されたバイト数を監視し要求されたバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

バッファサイズが、基になるサービス プロバイダ最大パケット サイズ超えないことを確認する必要があります最大サイズ超えている場合データグラム送信されず、SendSocketExceptionスローます。SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : このメソッド長さ 0 のデータ送信した場合結果は、.NET Compact Framework ではなくネイティブ オペレーティング システムによって決まります

使用例使用例

バッファ見つかったデータ送信しSocketFlags に None を指定するコード例次に示します

' Displays sending with a connected socket
' using the overload that takes a buffer, message size, and socket flags.
Public Shared Function SendReceiveTest3(ByVal
 server As Socket) As Integer
 
    Dim msg As Byte() =
 Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim i As Integer
 = server.Send(msg, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        Dim byteCount As Integer
 = server.Receive(bytes, server.Available, SocketFlags.None)
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.",
 e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest3

// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket
 flags.
public static int SendReceiveTest3(Socket
 server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int i = server.Send(msg, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", i);
        
        // Get reply from the server.
        int byteCount = server.Receive(bytes, server.Available,
 
                                           SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket
 flags.
int SendReceiveTest3( Socket^ server )
{
   array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test"
 );
   array<Byte>^ bytes = gcnew array<Byte>(256);
   try
   {
      // Blocks until send returns.
      int i = server->Send( msg, msg->Length, SocketFlags::None
 );
      Console::WriteLine( "Sent {0} bytes.", i.ToString() );
      
      // Get reply from the server.
      int byteCount = server->Receive( bytes, server->Available
,
         SocketFlags::None );
      if ( byteCount > 0 )
      {
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
      }
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString()
 );
      return (e->ErrorCode);
   }
   return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket
 flags.
public static int SendReceiveTest3(Socket
 server)
{
    ubyte msg[] = Encoding.get_UTF8().GetBytes("This is a test");
    ubyte bytes[] = new ubyte[256];
    try {
        // Blocks until send returns.
        int i = server.Send(msg, msg.get_Length(), SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", (Int32)i);
        // Get reply from the server.
        server.Receive(bytes, server.get_Available(), SocketFlags.None);
        Console.WriteLine(Encoding.get_UTF8().GetString(bytes));
    }
    catch (SocketException e) {
        Console.WriteLine("{0} Error code: {1}.", e.get_Message(),
            (Int32)e.get_ErrorCode());
        return e.get_ErrorCode();
    }
    return 0;
} //SendReceiveTest3
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド (Byte[], SocketFlags)

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

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

Public Function Send ( _
    buffer As Byte(), _
    socketFlags As SocketFlags _
) As Integer
Dim instance As Socket
Dim buffer As Byte()
Dim socketFlags As SocketFlags
Dim returnValue As Integer

returnValue = instance.Send(buffer, socketFlags)
public int Send (
    byte[] buffer,
    SocketFlags socketFlags
)
public:
int Send (
    array<unsigned char>^ buffer, 
    SocketFlags socketFlags
)
public int Send (
    byte[] buffer, 
    SocketFlags socketFlags
)
public function Send (
    buffer : byte[], 
    socketFlags : SocketFlags
) : int

パラメータ

buffer

送信するデータ格納する Byte 型の配列

socketFlags

SocketFlags 値のビットごとの組み合わせ

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffernull 参照 (Visual Basic では Nothing) です。

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、Connect メソッドまたは Accept メソッド確立されリモート ホスト同期的データ送信し正常に送信されたバイト数を返しますSend メソッドは、コネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードには、送信するデータ、および SocketFlagsビットごとの組み合わせ格納するバッファが必要です。バッファオフセット既定値は 0 であり、送信するデータバイト数の既定値バッファサイズです。DontRoute フラグsocketflags パラメータ値として指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send への各呼び出し前に Connect メソッド呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限りバッファ内のすべてのバイト送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、Send送信したバイト数がバッファ内のバイト数より小さくても、このメソッド正常に完了します送信されたバイト数を監視し要求されたバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

バッファサイズが、基になるサービス プロバイダ最大パケット サイズ超えないことを確認する必要があります最大サイズ超えている場合データグラム送信されず、SendSocketExceptionスローます。SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : このメソッド長さ 0 のデータ送信した場合結果は、.NET Compact Framework ではなくネイティブ オペレーティング システムによって決まります

使用例使用例

接続されSocketデータ送信するコード例次に示します

' Displays sending with a connected socket
' using the overload that takes a buffer and socket flags.
Public Shared Function SendReceiveTest2(ByVal
 server As Socket) As Integer
 
    Dim msg As Byte() =
 Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer
 = server.Send(msg, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, SocketFlags.None)
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.",
 e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest2

// Displays sending with a connected socket
// using the overload that takes a buffer and socket flags.
public static int SendReceiveTest2(Socket
 server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);
        
        // Get reply from the server.
        byteCount = server.Receive(bytes, SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer and socket flags.
int SendReceiveTest2( Socket^ server )
{
   array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test"
 );
   array<Byte>^ bytes = gcnew array<Byte>(256);
   try
   {
      // Blocks until send returns.
      int byteCount = server->Send( msg, SocketFlags::None
 );
      Console::WriteLine( "Sent {0} bytes.", byteCount.ToString() );
      
      // Get reply from the server.
      byteCount = server->Receive( bytes, SocketFlags::None );
      if ( byteCount > 0 )
      {
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
      }
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString()
 );
      return (e->ErrorCode);
   }
   return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer and socket flags.
public static int SendReceiveTest2(Socket
 server)
{
    ubyte msg[] = Encoding.get_UTF8().GetBytes("This is a test");
    ubyte bytes[] = new ubyte[256];
    try {
        // Blocks until send returns.
        int i = server.Send(msg, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", (Int32)i);
        // Get reply from the server.
        i = server.Receive(bytes, SocketFlags.None);
        Console.WriteLine(Encoding.get_UTF8().GetString(bytes));
    }
    catch (SocketException e) {
        Console.WriteLine("{0} Error code: {1}.", e.get_Message(),
            (Int32)e.get_ErrorCode());
        return e.get_ErrorCode();
    }
    return 0;
} //SendReceiveTest2
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド (ジェネリック IList, SocketFlags, SocketError)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

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

このメソッドは、CLS準拠していません。  CLS準拠する代替必要な場合は、Send(Byte[],Int32,SocketFlags) を使用してください

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

<CLSCompliantAttribute(False)> _
Public Function Send ( _
    buffers As IList(Of ArraySegment(Of
 Byte)), _
    socketFlags As SocketFlags, _
    <OutAttribute> ByRef errorCode As
 SocketError _
) As Integer
Dim instance As Socket
Dim buffers As IList(Of
 ArraySegment(Of Byte))
Dim socketFlags As SocketFlags
Dim errorCode As SocketError
Dim returnValue As Integer

returnValue = instance.Send(buffers, socketFlags, errorCode)
[CLSCompliantAttribute(false)] 
public int Send (
    IList<ArraySegment<byte>> buffers,
    SocketFlags socketFlags,
    out SocketError errorCode
)
[CLSCompliantAttribute(false)] 
public:
int Send (
    IList<ArraySegment<unsigned char>>^ buffers, 
    SocketFlags socketFlags, 
    [OutAttribute] SocketError% errorCode
)
/** @attribute CLSCompliantAttribute(false) */ 
public int Send (
    IList<ArraySegment<byte>> buffers, 
    SocketFlags socketFlags, 
    /** @attribute OutAttribute() */ /** @ref */ SocketError errorCode
)
JScript では、値型引数参照渡しされません。

パラメータ

buffers

送信するデータ格納する Byte 型の ArraySegment のリスト

socketFlags

SocketFlags 値のビットごとの組み合わせ

errorCode

ソケット エラー格納する SocketError オブジェクト

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffersnull 参照 (Visual Basic では Nothing) です。

ArgumentException

buffers が空です。

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

このオーバーロードには、送信するデータ格納するバッファ少なくとも 1 つ必要です。SocketFlags既定値は 0 です。DontRoute フラグsocketFlags パラメータとして指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限りバッファ内のすべてのバイト送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、Send送信したバイト数がバッファ内のバイト数より小さくても、このメソッド正常に完了します送信されたバイト数を監視しバッファ内のバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Socket.Send メソッド (Byte[], Int32, Int32, SocketFlags, SocketError)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

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

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

Public Function Send ( _
    buffer As Byte(), _
    offset As Integer, _
    size As Integer, _
    socketFlags As SocketFlags, _
    <OutAttribute> ByRef errorCode As
 SocketError _
) As Integer
Dim instance As Socket
Dim buffer As Byte()
Dim offset As Integer
Dim size As Integer
Dim socketFlags As SocketFlags
Dim errorCode As SocketError
Dim returnValue As Integer

returnValue = instance.Send(buffer, offset, size, socketFlags, errorCode)
public int Send (
    byte[] buffer,
    int offset,
    int size,
    SocketFlags socketFlags,
    out SocketError errorCode
)
public:
int Send (
    array<unsigned char>^ buffer, 
    int offset, 
    int size, 
    SocketFlags socketFlags, 
    [OutAttribute] SocketError% errorCode
)
public int Send (
    byte[] buffer, 
    int offset, 
    int size, 
    SocketFlags socketFlags, 
    /** @attribute OutAttribute() */ /** @ref */ SocketError errorCode
)
JScript では、値型引数参照渡しされません。

パラメータ

buffer

送信するデータ格納する Byte 型の配列

offset

データ送信開始するデータ バッファ内の位置

size

送信するバイト数。

socketFlags

SocketFlags 値のビットごとの組み合わせ

errorCode

ソケット エラー格納する SocketError オブジェクト

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffernull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset が 0 未満です。

または

offsetbuffer長さ超えてます。

または

size が 0 未満です。

または

size が、buffer長さから offset パラメータの値を引いた値を超えてます。

SocketException

socketFlags が、値の有効な組み合わせではありません。

または

Socketアクセス中にオペレーティング システム エラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、Connect メソッドまたは Accept メソッド指定されリモート ホスト同期的データ送信し正常に送信されたバイト数を返しますSendコネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードで、DontRoute フラグsocketflags パラメータとして指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo を使用してくださいSendTo使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後で使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

また、サイズが、基になるサービス プロバイダ最大パケット サイズ超えないことを確認する必要もあります最大サイズ超えている場合データグラム送信されず、SendSocketExceptionスローます。

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限り要求されたバイト数が送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、要求したバイト数より Send送信したバイト数の方が小さくても、このメソッド正常に完了します送信されたバイト数を監視し要求されたバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : このメソッド長さ 0 のデータ送信した場合結果は、.NET Compact Framework ではなくネイティブ オペレーティング システムによって決まります

使用例使用例

データ バッファオフセットサイズ、および接続されSocketデータ送信する SocketFlags指定するコード例次に示します

' Displays sending with a connected socket
' using the overload that takes a buffer, offset, message size, and
 socket flags.
Public Shared Function SendReceiveTest4(ByVal
 server As Socket) As Integer
 
    Dim msg As Byte() =
 Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer
 = server.Send(msg, 0, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, SocketFlags.None)
        
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.",
 e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest4

// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and
 socket flags.
public static int SendReceiveTest4(Socket
 server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, 0, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);
        
        // Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, 
                                   SocketFlags.None);

        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and
 socket flags.
int SendReceiveTest4( Socket^ server )
{
   array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test"
 );
   array<Byte>^ bytes = gcnew array<Byte>(256);
   try
   {
      
      // Blocks until send returns.
      int byteCount = server->Send( msg, 0, msg->Length,
 SocketFlags::None );
      Console::WriteLine( "Sent {0} bytes.", byteCount.ToString() );
      
      // Get reply from the server.
      byteCount = server->Receive( bytes, 0, server->Available,
         SocketFlags::None );
      if ( byteCount > 0 )
      {
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
      }
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine(  "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString()
 );
      return (e->ErrorCode);
   }
   return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size,
// and socket flags.
public static int SendReceiveTest4(Socket
 server)
{
    ubyte msg[] = Encoding.get_UTF8().GetBytes("This is a test");
    ubyte bytes[] = new ubyte[256];
    try {
        // Blocks until send returns.
        int i = server.Send(msg, 0, msg.get_Length(), SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", (Int32)i);
        // Get reply from the server.
        server.Receive(bytes, 0, server.get_Available(), SocketFlags.None);
        Console.WriteLine(Encoding.get_UTF8().GetString(bytes));
    }
    catch (SocketException e) {
        Console.WriteLine("{0} Error code: {1}.", e.get_Message(),
            (Int32)e.get_ErrorCode());
        return e.get_ErrorCode();
    }
    return 0;
} //SendReceiveTest4
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド

接続されSocketデータ送信します
オーバーロードの一覧オーバーロードの一覧

名前 説明
Socket.Send (Byte[]) 接続されSocketデータ送信します

.NET Compact Framework によってサポートされています。

Socket.Send (ジェネリック IList) リスト内のバッファセット接続されSocket送信します
Socket.Send (Byte[], SocketFlags) 指定した SocketFlags を使用して接続されSocketデータ送信します

.NET Compact Framework によってサポートされています。

Socket.Send (ジェネリック IList, SocketFlags) 指定した SocketFlags使用してリスト内のバッファセット接続されSocket送信します
Socket.Send (Byte[], Int32, SocketFlags) 指定した SocketFlags使用し指定したバイト数のデータを、接続されSocket送信します

.NET Compact Framework によってサポートされています。

Socket.Send (ジェネリック IList, SocketFlags, SocketError) 指定した SocketFlags使用してリスト内のバッファセット接続されSocket送信します
Socket.Send (Byte[], Int32, Int32, SocketFlags) 指定した SocketFlags使用し指定したバイト数のデータを、接続されSocket送信します送信指定したオフセットから開始されます。

.NET Compact Framework によってサポートされています。

Socket.Send (Byte[], Int32, Int32, SocketFlags, SocketError) 指定した SocketFlags使用し指定したバイト数のデータを、接続されSocket送信します送信指定したオフセットから開始されます。
参照参照

関連項目

Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド (Byte[])

接続されSocketデータ送信します

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

例外例外
例外種類条件

ArgumentNullException

buffernull 参照 (Visual Basic では Nothing) です。

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

Send は、Connect メソッドまたは Accept メソッド指定されリモート ホスト同期的データ送信し正常に送信されたバイト数を返しますSendコネクション指向プロトコルコネクションレスプロトコル両方使用できます

このオーバーロードには、送信するデータ格納するバッファが必要です。SocketFlags の既定値は 0、バッファオフセット既定値は 0 であり、送信するデータバイト数の既定値バッファサイズです。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限りバッファ内のすべてのバイト送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、Send送信したバイト数がバッファ内のバイト数より小さくても、このメソッド正常に完了します送信されたバイト数を監視しバッファ内のバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : このメソッド長さ 0 のデータ送信した場合結果は、.NET Compact Framework ではなくデバイスネイティブ オペレーティング システムによって決まります

使用例使用例

接続されSocketデータ送信するコード例次に示します

' Displays sending with a connected socket
' using the overload that takes a buffer.
Public Shared Function SendReceiveTest1(ByVal
 server As Socket) As Integer
 
    Dim msg As Byte() =
 Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim i As Integer
 = server.Send(msg)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        i = server.Receive(bytes)
        Console.WriteLine(Encoding.UTF8.GetString(bytes))
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.",
 e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest1

// Displays sending with a connected socket
// using the overload that takes a buffer.
public static int SendReceiveTest1(Socket
 server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try 
    {
        // Blocks until send returns.
        int i = server.Send(msg);
        Console.WriteLine("Sent {0} bytes.", i);
        
        // Get reply from the server.
        i = server.Receive(bytes);
        Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer.
int SendReceiveTest1( Socket^ server )
{
   array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test"
 );
   array<Byte>^ bytes = gcnew array<Byte>(256);
   try
   {
      // Blocks until send returns.
      int byteCount = server->Send( msg );
      Console::WriteLine( "Sent {0} bytes.", byteCount.ToString() );
      
      // Get reply from the server.
      byteCount = server->Receive( bytes );
      if ( byteCount > 0 )
      {
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
      }
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString()
 );
      return ( e->ErrorCode );
   }
   return 0;
}
// Displays sending with a connected socket
// using the overload that takes a buffer.
public static int SendReceiveTest1(Socket
 server)
{
    ubyte msg[] = Encoding.get_UTF8().GetBytes("This is a test");
    ubyte bytes[] = new ubyte[256];
    try {
        // Blocks until send returns.
        int i = server.Send(msg);
        Console.WriteLine("Sent {0} bytes.", (Int32)i);
        // Get reply from the server.
        i = server.Receive(bytes);
        Console.WriteLine(Encoding.get_UTF8().GetString(bytes));
    }
    catch (SocketException e) {
        Console.WriteLine("{0} Error code: {1}.", e.get_Message(),
            (Int32)(e.get_ErrorCode()));
        return e.get_ErrorCode();
    }
    return 0;
} //SendReceiveTest1
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Connect
SendTo
SocketFlags
SetSocketOption

Socket.Send メソッド (ジェネリック IList, SocketFlags)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

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

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

Public Function Send ( _
    buffers As IList(Of ArraySegment(Of
 Byte)), _
    socketFlags As SocketFlags _
) As Integer
Dim instance As Socket
Dim buffers As IList(Of
 ArraySegment(Of Byte))
Dim socketFlags As SocketFlags
Dim returnValue As Integer

returnValue = instance.Send(buffers, socketFlags)
public int Send (
    IList<ArraySegment<byte>> buffers,
    SocketFlags socketFlags
)
public:
int Send (
    IList<ArraySegment<unsigned char>>^ buffers, 
    SocketFlags socketFlags
)
public int Send (
    IList<ArraySegment<byte>> buffers, 
    SocketFlags socketFlags
)
public function Send (
    buffers : IList<ArraySegment<byte>>, 
    socketFlags : SocketFlags
) : int

パラメータ

buffers

送信するデータ格納する Byte 型の ArraySegment のリスト

socketFlags

SocketFlags 値のビットごとの組み合わせ

戻り値
Socket送信されたバイト数。

例外例外
例外種類条件

ArgumentNullException

buffers null 参照 (Visual Basic では Nothing) です。

ArgumentException

buffers が空です。

SocketException

ソケットへのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

Socket閉じられています。

解説解説

このオーバーロードには、送信するデータ格納するバッファ少なくとも 1 つ必要です。SocketFlags既定値は 0 です。DontRoute フラグsocketFlags パラメータとして指定した場合送信しようとしているデータルーティングされません。

コネクションレスプロトコル使用している場合は、このメソッド呼び出す前に Connect呼び出す必要があります。これをしないと、SendSocketExceptionスローます。コネクション指向プロトコル使用する場合は、Connect使用してリモート ホストとの接続確立するか、Accept使用して受信接続受け入れる必要があります

コネクションレスプロトコル使用していて、複数異なホストデータ送信する予定がある場合は、SendTo メソッド使用してくださいSendTo メソッド使用しない場合は、Send への各呼び出し前に Connect呼び出す必要がありますSendTo は、Connect既定リモート ホスト確立した後でも、使用できますまた、Send呼び出し前にConnect呼び出すことによって、既定リモート ホスト変更できます

コネクション指向プロトコル使用している場合Send は、Socket.SendTimeout を使用してタイムアウト設定されていない限りバッファ内のすべてのバイト送信されるまでブロックしますタイムアウト値を超えた場合Send 呼び出しSocketExceptionスローさます。非ブロッキングモードでは、Send送信したバイト数がバッファ内のバイト数より小さくても、このメソッド正常に完了します送信されたバイト数を監視しバッファ内のバイト数をすべて送信するまで操作再試行することは、アプリケーション側の責任です。また、送信したデータがすぐにネットワーク上に現れることは保証されません。ネットワーク効率高めるため、基になっているシステムは、十分な量の送信データ収集されるまで送信遅延することがありますSend メソッド正常に完了した場合は、基になるシステムネットワーク送信のためにデータバッファする余地があったことを示します

メモメモ

SocketException発生した場合は、SocketException.ErrorCode プロパティ使用して具体的なエラー コード取得してください。このコード取得したら、Windows Socket Version 2 API エラー コードドキュメントエラー詳細情報確認してください。これは MSDN ライブラリから入手できます

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からsocket_sendを検索した結果を表示しています。
Weblioに収録されているすべての辞書からsocket_sendを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からsocket_sendを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「socket_send」の関連用語

socket_sendのお隣キーワード
検索ランキング

   

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



socket_sendのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS