次の方法で共有


UdpClient.Send メソッド (Byte , Int32, String, Int32)

指定されたリモート ホストの指定されたポートに UDP データグラムを送信します。

Overloads Public Function Send( _
   ByVal dgram() As Byte, _   ByVal bytes As Integer, _   ByVal hostname As String, _   ByVal port As Integer _) As Integer
[C#]
public int Send(byte[] dgram,intbytes,stringhostname,intport);
[C++]
public: int Send(unsigned chardgram __gc[],intbytes,String* hostname,intport);
[JScript]
public function Send(
   dgram : Byte[],bytes : int,hostname : String,port : int) : int;

パラメータ

  • dgram
    バイトの配列として表された、送信する UDP データグラムを指定する Byte 型の配列。
  • bytes
    データグラム内のバイト数。
  • hostname
    データグラム送信先のリモート ホストの名前。
  • port
    通信先のリモート ポート番号。

戻り値

送信されたバイト数。

例外

例外の種類 条件
ArgumentNullException dgram が null 参照 (Visual Basic では Nothing) です。
InvalidOperationException UdpClient が既定のリモート ホストを既に確立しました。
ObjectDisposedException UdpClient が閉じています。
SocketException ソケットへのアクセス中にエラーが発生しました。詳細については、「解説」を参照してください。

解説

Send メソッドは、 hostname パラメータおよび port パラメータで指定された値にデータグラムを送信し、正常に送信されたバイト数を返します。 hostname パラメータ値に "255.255.255.255" を指定すると、既定のブロードキャスト アドレスにデータグラムを送信できます。

他のブロードキャスト アドレスにデータグラムを送信する場合は、 Client メソッドを使用して基になる Socket を取得し、ソケット オプションを SocketOptionName.Broadcast に設定します。 Socket クラスに戻って使用することもできます。

メモ    Connect メソッドで既にリモート ホストを確立している場合は、ホスト名またはポート番号をこのメソッドで指定しないでください。これを行うと、 Send メソッドは SocketException をスローします。 SocketException が発生した場合は、 SocketException.ErrorCode を使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルから、エラーの詳細情報を確認できます。これは MSDN から入手できます。

使用例

[Visual Basic, C#, C++] Send メソッドの例を次に示します。この例ではホスト名とポート番号を使用してターゲット ホストを識別しています。

 
Dim udpClient As New UdpClient()

Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
Try
   udpClient.Send(sendBytes, sendBytes.Length, "www.contoso.com", 11000)
Catch e As Exception
   Console.WriteLine(e.ToString())
End Try

[C#] 
UdpClient udpClient = new UdpClient();

Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there");
try{
    udpClient.Send(sendBytes, sendBytes.Length, "www.contoso.com", 11000);
}
catch ( Exception e ){
    Console.WriteLine(e.ToString());    
}

[C++] 
UdpClient* udpClient = new UdpClient();

Byte sendBytes[] = Encoding::ASCII->GetBytes(S"Is anybody there");
try{
    udpClient->Send(sendBytes, sendBytes->Length, S"www.contoso.com", 11000);
}
catch ( Exception* e ){
    Console::WriteLine(e->ToString());    
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: 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

参照

UdpClient クラス | UdpClient メンバ | System.Net.Sockets 名前空間 | UdpClient.Send オーバーロードの一覧 | 基本型のエンコーディング | Broadcast | Connect | Socket