UdpClient.Send Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een UDP-datagram verzonden naar een externe host.
Overloads
| Name | Description |
|---|---|
| Send(Byte[], Int32) |
Hiermee wordt een UDP-datagram verzonden naar een externe host. |
| Send(Byte[], Int32, IPEndPoint) |
Hiermee wordt een UDP-datagram verzonden naar de host op het opgegeven externe eindpunt. |
| Send(Byte[], Int32, String, Int32) |
Hiermee wordt een UDP-datagram verzonden naar een opgegeven poort op een opgegeven externe host. |
Send(Byte[], Int32)
Hiermee wordt een UDP-datagram verzonden naar een externe host.
public:
int Send(cli::array <System::Byte> ^ dgram, int bytes);
public int Send(byte[] dgram, int bytes);
member this.Send : byte[] * int -> int
Public Function Send (dgram As Byte(), bytes As Integer) As Integer
Parameters
- dgram
- Byte[]
Een matrix van het type Byte dat het UDP-gegevensgram aangeeft dat u wilt verzenden als een matrix van bytes.
- bytes
- Int32
Het aantal bytes in het datagram.
Retouren
Het aantal bytes dat is verzonden.
Uitzonderingen
dgram is null.
Er UdpClient is al een standaard externe host ingesteld.
De UdpClient is gesloten.
Er is een fout opgetreden bij het openen van de socket.
Voorbeelden
In het volgende voorbeeld ziet u de Send methode. U moet een standaard externe host instellen voordat u deze overbelasting gebruikt.
UdpClient udpClient = new UdpClient("www.contoso.com", 11000);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there");
try{
udpClient.Send(sendBytes, sendBytes.Length);
}
catch ( Exception e ){
Console.WriteLine( e.ToString());
}
Dim udpClient As New UdpClient("www.contoso.com", 11000)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
Try
udpClient.Send(sendBytes, sendBytes.Length)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Opmerkingen
Deze overbelasting verzendt datagrammen naar de externe host die is ingesteld in de Connect methode en retourneert het aantal verzonden bytes. Als u niet aanroept voordat u deze overbelasting aanroept Connect , genereert de Send methode een SocketException. Als u een SocketException, gebruikt SocketException.ErrorCode om de specifieke foutcode te verkrijgen. Zodra u deze code hebt verkregen, kunt u de Windows Sockets versie 2 API-foutcode raadplegen voor een gedetailleerde beschrijving van de fout.
Als u datagrammen naar een andere externe host wilt verzenden, moet u de Connect methode aanroepen en de gewenste externe host opgeven. Gebruik een van de andere Send methode-overbelastingen om datagrammen naar een broadcast-adres te verzenden.
Zie ook
Van toepassing op
Send(Byte[], Int32, IPEndPoint)
Hiermee wordt een UDP-datagram verzonden naar de host op het opgegeven externe eindpunt.
public:
int Send(cli::array <System::Byte> ^ dgram, int bytes, System::Net::IPEndPoint ^ endPoint);
public int Send(byte[] dgram, int bytes, System.Net.IPEndPoint endPoint);
member this.Send : byte[] * int * System.Net.IPEndPoint -> int
Public Function Send (dgram As Byte(), bytes As Integer, endPoint As IPEndPoint) As Integer
Parameters
- dgram
- Byte[]
Een matrix van het type Byte dat het UDP-gegevensgram aangeeft dat u wilt verzenden, weergegeven als een matrix van bytes.
- bytes
- Int32
Het aantal bytes in het datagram.
- endPoint
- IPEndPoint
Een IPEndPoint die de host en poort vertegenwoordigt waarnaar het datagram moet worden verzonden.
Retouren
Het aantal bytes dat is verzonden.
Uitzonderingen
dgram is null.
UdpClient heeft al een standaard externe host ingesteld.
UdpClient is gesloten.
Er is een fout opgetreden bij het openen van de socket.
Voorbeelden
In het volgende voorbeeld ziet u de Send methode. In dit voorbeeld wordt een IPEndPoint gebruikt om de doelhost op te geven.
UdpClient udpClient = new UdpClient();
IPAddress ipAddress = Dns.Resolve("www.contoso.com").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 11004);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
try{
udpClient.Send(sendBytes, sendBytes.Length, ipEndPoint);
}
catch ( Exception e ){
Console.WriteLine(e.ToString());
}
Dim udpClient As New UdpClient()
Dim ipAddress As IPAddress = Dns.Resolve("www.contoso.com").AddressList(0)
Dim ipEndPoint As New IPEndPoint(ipAddress, 11004)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
Try
udpClient.Send(sendBytes, sendBytes.Length, ipEndPoint)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Opmerkingen
De Send methode verzendt datagrammen naar het opgegeven eindpunt en retourneert het aantal verzonden bytes. Voordat u deze overbelasting aanroept, moet u eerst een IPEndPoint ip-adres en poortnummer maken van de externe host waarnaar uw datagrammen worden geleverd. U kunt datagrammen verzenden naar het standaarduitzendadres, 255.255.255.255, door op te SocketOptionName.Broadcast geven voor de Address eigenschap van de IPEndPoint. Nadat u dit hebt gemaakt, geeft u deze IPEndPointdoor aan de Send methode als parameter endPoint .
Als u datagrammen naar een ander broadcast-adres wilt verzenden, gebruikt u de Client methode om de onderliggende Socketgegevens te verkrijgen en stelt u de socketoptie in op SocketOptionName.Broadcast. U kunt ook terugkeren naar het gebruik van de Socket klasse.
Note
Geef geen endPoint parameter op voor deze methode als u al een externe host met de Connect methode hebt ingesteld. Als u dat doet, zal de Send methode een SocketException. Als u een SocketException, gebruikt SocketException.ErrorCode om de specifieke foutcode te verkrijgen. Zodra u deze code hebt verkregen, kunt u de Windows Sockets versie 2 API-foutcode raadplegen voor een gedetailleerde beschrijving van de fout.
Zie ook
Van toepassing op
Send(Byte[], Int32, String, Int32)
Hiermee wordt een UDP-datagram verzonden naar een opgegeven poort op een opgegeven externe host.
public:
int Send(cli::array <System::Byte> ^ dgram, int bytes, System::String ^ hostname, int port);
public int Send(byte[] dgram, int bytes, string hostname, int port);
member this.Send : byte[] * int * string * int -> int
Public Function Send (dgram As Byte(), bytes As Integer, hostname As String, port As Integer) As Integer
Parameters
- dgram
- Byte[]
Een matrix van het type Byte dat het UDP-gegevensgram aangeeft dat u wilt verzenden als een matrix van bytes.
- bytes
- Int32
Het aantal bytes in het datagram.
- hostname
- String
De naam van de externe host waarnaar u het datagram wilt verzenden.
- port
- Int32
Het externe poortnummer waarmee u wilt communiceren.
Retouren
Het aantal bytes dat is verzonden.
Uitzonderingen
dgram is null.
Er UdpClient is al een standaard externe host ingesteld.
De UdpClient is gesloten.
Er is een fout opgetreden bij het openen van de socket.
Voorbeelden
In het volgende voorbeeld ziet u de Send methode. In dit voorbeeld wordt een hostnaam en een poortnummer gebruikt om de doelhost te identificeren.
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());
}
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
Opmerkingen
De Send methode verzendt datagrammen naar de waarden die zijn opgegeven door de hostname en port parameters en retourneert het aantal verzonden bytes. U kunt datagrammen verzenden naar het standaarduitzendadres door '255.255.255.255' op te geven voor de hostname parameterwaarde.
Als u datagrammen naar een ander broadcast-adres wilt verzenden, gebruikt u de Client methode om de onderliggende Socketgegevens te verkrijgen en stelt u de socketoptie in op SocketOptionName.Broadcast. U kunt ook terugkeren naar het gebruik van de Socket klasse.
Note
Geef geen hostnaam of poortnummer op voor deze methode als u al een externe host met de Connect methode hebt ingesteld. Als u dat doet, zal de Send methode een SocketException. Als u een SocketException, gebruikt SocketException.ErrorCode om de specifieke foutcode te verkrijgen. Zodra u deze code hebt verkregen, kunt u de Windows Sockets versie 2 API-foutcode raadplegen voor een gedetailleerde beschrijving van de fout.