UdpClient.Send Methode

Definitie

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.

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.

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.

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.

Zie ook

Van toepassing op