Udostępnij za pośrednictwem


UdpClient.Send Metoda

Definicja

Wysyła datagram UDP do hosta zdalnego.

Przeciążenia

Send(Byte[], Int32, String, Int32)

Wysyła datagram UDP do określonego portu na określonym hoście zdalnym.

Send(ReadOnlySpan<Byte>, String, Int32)

Wysyła datagram UDP do określonego portu na określonym hoście zdalnym.

Send(Byte[], Int32, IPEndPoint)

Wysyła datagram UDP do hosta w określonym zdalnym punkcie końcowym.

Send(Byte[], Int32)

Wysyła datagram UDP do hosta zdalnego.

Send(ReadOnlySpan<Byte>)

Wysyła datagram UDP do hosta zdalnego.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Wysyła datagram UDP do hosta w określonym zdalnym punkcie końcowym.

Send(Byte[], Int32, String, Int32)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do określonego portu na określonym hoście zdalnym.

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);
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

Parametry

dgram
Byte[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

hostname
String

Nazwa hosta zdalnego, do którego zamierzasz wysłać datagram.

port
Int32

Numer portu zdalnego, z którym zamierzasz się komunikować.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

dgram to null.

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Przykłady

W poniższym przykładzie pokazano metodę Send . W tym przykładzie użyto nazwy hosta i numeru portu w celu zidentyfikowania hosta docelowego.

UdpClient^ udpClient = gcnew UdpClient;

array<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() );
}
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

Uwagi

Metoda Send wysyła datagramy do wartości określonych przez hostname parametry i port i i zwraca liczbę bajtów pomyślnie wysłanych. Datagramy można wysyłać do domyślnego adresu emisji, określając wartość parametru hostname "255.255.255.255".

Jeśli chcesz wysłać datagramy do dowolnego innego adresu emisji, użyj Client metody , aby uzyskać bazowy Socketelement , i ustaw opcję gniazda na SocketOptionName.Broadcast. Możesz również przywrócić klasę Socket .

Uwaga

Nie należy podawać nazwy hosta ani numeru portu do tej metody, jeśli host zdalny został już ustanowiony za pomocą Connect metody . Jeśli to zrobisz, Send metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Zobacz też

Dotyczy

Send(ReadOnlySpan<Byte>, String, Int32)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do określonego portu na określonym hoście zdalnym.

public:
 int Send(ReadOnlySpan<System::Byte> datagram, System::String ^ hostname, int port);
public int Send (ReadOnlySpan<byte> datagram, string? hostname, int port);
member this.Send : ReadOnlySpan<byte> * string * int -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte), hostname As String, port As Integer) As Integer

Parametry

datagram
ReadOnlySpan<Byte>

Byte Typ ReadOnlySpan<T> określający datagram UDP, który ma być wysyłany.

hostname
String

Nazwa hosta zdalnego, do którego zamierzasz wysłać datagram.

port
Int32

Numer portu zdalnego, z którym zamierzasz się komunikować.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Dotyczy

Send(Byte[], Int32, IPEndPoint)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do hosta w określonym zdalnym punkcie końcowym.

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);
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

Parametry

dgram
Byte[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany, reprezentowany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

endPoint
IPEndPoint

Element IPEndPoint reprezentujący hosta i port, do którego ma być wysyłany datagram.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

dgram to null.

UdpClient już nawiązał domyślny host zdalny.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Przykłady

W poniższym przykładzie pokazano metodę Send . W tym przykładzie użyto elementu do IPEndPoint określenia hosta docelowego.

UdpClient^ udpClient = gcnew UdpClient;
IPAddress^ ipAddress = Dns::Resolve( "www.contoso.com" )->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddress,11004 );

array<Byte>^ sendBytes = Encoding::ASCII->GetBytes( "Is anybody there?" );
try
{
   udpClient->Send( sendBytes, sendBytes->Length, ipEndPoint );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}
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

Uwagi

Metoda Send wysyła datagramy do określonego punktu końcowego i zwraca liczbę bajtów pomyślnie wysłanych. Przed wywołaniem tego przeciążenia należy najpierw utworzyć IPEndPoint przy użyciu adresu IP i numeru portu hosta zdalnego, do którego zostaną dostarczone twoje datagramy. Datagramy można wysyłać do domyślnego adresu emisji 255.255.255.255, określając SocketOptionName.Broadcast właściwość AddressIPEndPoint. Po utworzeniu Send tej IPEndPointmetody przekaż ją do metody jako parametru endPoint .

Jeśli chcesz wysłać datagramy do dowolnego innego adresu emisji, użyj Client metody , aby uzyskać bazowy Socketelement , i ustaw opcję gniazda na SocketOptionName.Broadcast. Możesz również przywrócić klasę Socket .

Uwaga

Nie należy podać parametru endPoint tej metody, jeśli host zdalny został już ustanowiony za pomocą Connect metody . Jeśli to zrobisz, Send metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Zobacz też

Dotyczy

Send(Byte[], Int32)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do hosta zdalnego.

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

Parametry

dgram
Byte[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

dgram to null.

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Przykłady

W poniższym przykładzie pokazano metodę Send . Przed użyciem tego przeciążenia należy ustanowić domyślny host zdalny.

UdpClient^ udpClient = gcnew UdpClient( "www.contoso.com",11000 );
array<Byte>^ sendBytes = Encoding::ASCII->GetBytes( "Is anybody there" );
try
{
   udpClient->Send( sendBytes, sendBytes->Length );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}
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

Uwagi

To przeciążenie wysyła datagramy do hosta zdalnego ustanowionego Connect w metodzie i zwraca liczbę wysłanych bajtów. Jeśli nie wywołasz wywołania Connect tego przeciążenia przed wywołaniem tego przeciążenia, Send metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Jeśli chcesz wysłać datagramy do innego hosta zdalnego, musisz wywołać metodę Connect i określić żądany host zdalny. Użyj jednego z innych Send przeciążeń metody, aby wysyłać datagramy do adresu emisji.

Zobacz też

Dotyczy

Send(ReadOnlySpan<Byte>)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do hosta zdalnego.

public:
 int Send(ReadOnlySpan<System::Byte> datagram);
public int Send (ReadOnlySpan<byte> datagram);
member this.Send : ReadOnlySpan<byte> -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte)) As Integer

Parametry

datagram
ReadOnlySpan<Byte>

Byte Typ ReadOnlySpan<T> określający datagram UDP, który ma być wysyłany.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

Nie UdpClient określono domyślnego hosta zdalnego.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Dotyczy

Send(ReadOnlySpan<Byte>, IPEndPoint)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Wysyła datagram UDP do hosta w określonym zdalnym punkcie końcowym.

public:
 int Send(ReadOnlySpan<System::Byte> datagram, System::Net::IPEndPoint ^ endPoint);
public int Send (ReadOnlySpan<byte> datagram, System.Net.IPEndPoint? endPoint);
member this.Send : ReadOnlySpan<byte> * System.Net.IPEndPoint -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte), endPoint As IPEndPoint) As Integer

Parametry

datagram
ReadOnlySpan<Byte>

Byte Typ ReadOnlySpan<T> określający datagram UDP, który ma być wysyłany.

endPoint
IPEndPoint

Element IPEndPoint reprezentujący hosta i port, do którego ma być wysyłany datagram.

Zwraca

Liczba wysłanych bajtów.

Wyjątki

UdpClient już ustanowić domyślny host zdalny i endPoint nie nulljest .

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Dotyczy