指定されたリモート ホストの指定されたポートに 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