UdpClient.Send Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправляет датаграмму UDP в удаленный узел.
Перегрузки
Send(Byte[], Int32, String, Int32) |
Отправляет UDP-датаграмму на заданный порт указанного удаленного узла. |
Send(ReadOnlySpan<Byte>, String, Int32) |
Отправляет UDP-датаграмму на заданный порт указанного удаленного узла. |
Send(Byte[], Int32, IPEndPoint) |
Отправляет UDP-датаграмму в узел в указанной удаленной конечной точке. |
Send(Byte[], Int32) |
Отправляет датаграмму UDP в удаленный узел. |
Send(ReadOnlySpan<Byte>) |
Отправляет датаграмму UDP в удаленный узел. |
Send(ReadOnlySpan<Byte>, IPEndPoint) |
Отправляет UDP-датаграмму в узел в указанной удаленной конечной точке. |
Send(Byte[], Int32, String, Int32)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет UDP-датаграмму на заданный порт указанного удаленного узла.
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
Параметры
- dgram
- Byte[]
Массив типа Byte, задающий UDP-датаграмму, которую предполагается послать в виде байтового массива.
- bytes
- Int32
Число байт в датаграмме.
- hostname
- String
Имя удаленного узла, на который планируется отправить датаграмму.
- port
- Int32
Номер удаленного порта, с которым планируется обмен данных.
Возвращаемое значение
Число отправленных байтов.
Исключения
dgram
имеет значение null
.
Для объекта UdpClient уже установлен удаленный узел, используемый по умолчанию.
Объект UdpClient закрыт.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере демонстрируется Send метод. В этом примере используется имя узла и номер порта для идентификации целевого узла.
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
Комментарии
Метод Send отправляет датаграммы значениям, заданным параметрами hostname
и , port
и возвращает количество успешно отправленных байтов. Вы можете отправить датаграммы на широковещательный адрес по умолчанию, указав "255.255.255.255" в параметре hostname
.
Если вы хотите отправить датаграммы на любой другой широковещательный адрес, используйте Client метод для получения базового Socketи задайте для параметра сокета значение SocketOptionName.Broadcast. Вы также можете отменить изменения к использованию Socket класса .
Примечание
Не укажите имя узла или номер порта для этого метода, если вы уже установили удаленный узел с помощью Connect метода . В этом случае Send метод вызовет исключение SocketException. Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете обратиться к документации по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
См. также раздел
Применяется к
Send(ReadOnlySpan<Byte>, String, Int32)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет UDP-датаграмму на заданный порт указанного удаленного узла.
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
Параметры
- datagram
- ReadOnlySpan<Byte>
Byte Тип ReadOnlySpan<T> , указывающий датаграмму UDP, которую вы планируете отправить.
- hostname
- String
Имя удаленного узла, на который планируется отправить датаграмму.
- port
- Int32
Номер удаленного порта, с которым планируется обмен данных.
Возвращаемое значение
Число отправленных байтов.
Исключения
Для объекта UdpClient уже установлен удаленный узел, используемый по умолчанию.
Объект UdpClient закрыт.
Произошла ошибка при обращении к сокету.
Применяется к
Send(Byte[], Int32, IPEndPoint)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет UDP-датаграмму в узел в указанной удаленной конечной точке.
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
Параметры
- dgram
- Byte[]
Массив типа Byte, задающий UDP-датаграмму, которую предполагается послать в виде байтового массива.
- bytes
- Int32
Число байт в датаграмме.
- endPoint
- IPEndPoint
Объект IPEndPoint, предоставляющий узел и порт, на которые передается датаграмма.
Возвращаемое значение
Число отправленных байтов.
Исключения
dgram
имеет значение null
.
Для объекта UdpClient уже установлен удаленный узел, используемый по умолчанию.
UdpClient закрыт.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере демонстрируется Send метод. В этом примере используется IPEndPoint для указания целевого узла.
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
Комментарии
Метод Send отправляет датаграммы в указанную конечную точку и возвращает количество успешно отправленных байтов. Перед вызовом IPEndPoint этой перегрузки необходимо сначала создать , используя IP-адрес и номер порта удаленного узла, на который будут доставляться датаграммы. Вы можете отправлять датаграммы на адрес широковещательной трансляции по умолчанию 255.255.255.255, указав SocketOptionName.Broadcast для Address свойства IPEndPoint. После создания этого IPEndPointметода передайте его в метод в SendendPoint
качестве параметра .
Если вы хотите отправить датаграммы на любой другой широковещательный адрес, используйте Client метод для получения базового Socketи задайте для параметра сокета значение SocketOptionName.Broadcast. Вы также можете отменить изменения к использованию Socket класса .
Примечание
Не предоставляйте endPoint
параметр для этого метода, если вы уже установили удаленный узел с методом Connect . В этом случае Send метод вызовет исключение SocketException. Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете обратиться к документации по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
См. также раздел
Применяется к
Send(Byte[], Int32)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет датаграмму UDP в удаленный узел.
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
Параметры
- dgram
- Byte[]
Массив типа Byte, задающий UDP-датаграмму, которую предполагается послать в виде байтового массива.
- bytes
- Int32
Число байт в датаграмме.
Возвращаемое значение
Число отправленных байтов.
Исключения
dgram
имеет значение null
.
Для объекта UdpClient уже установлен удаленный узел, используемый по умолчанию.
Объект UdpClient закрыт.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере демонстрируется Send метод. Перед использованием этой перегрузки необходимо установить удаленный узел по умолчанию.
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
Комментарии
Эта перегрузка отправляет датаграммы на удаленный узел, установленный в методе Connect , и возвращает количество отправленных байтов. Если не вызвать Connect перед вызовом этой перегрузки Send , метод вызовет SocketExceptionисключение . Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете обратиться к документации по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Если вы хотите отправить датаграммы на другой удаленный узел, необходимо вызвать Connect метод и указать нужный удаленный узел. Используйте другую перегрузку Send метода для отправки датаграмм на широковещательный адрес.
См. также раздел
Применяется к
Send(ReadOnlySpan<Byte>)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет датаграмму UDP в удаленный узел.
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
Параметры
- datagram
- ReadOnlySpan<Byte>
Byte Тип ReadOnlySpan<T> , указывающий датаграмму UDP, которую вы планируете отправить.
Возвращаемое значение
Число отправленных байтов.
Исключения
Не UdpClient установил удаленный узел по умолчанию.
Объект UdpClient закрыт.
Произошла ошибка при обращении к сокету.
Применяется к
Send(ReadOnlySpan<Byte>, IPEndPoint)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Отправляет UDP-датаграмму в узел в указанной удаленной конечной точке.
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
Параметры
- datagram
- ReadOnlySpan<Byte>
Byte Тип ReadOnlySpan<T> , указывающий датаграмму UDP, которую вы планируете отправить.
- endPoint
- IPEndPoint
Объект IPEndPoint, предоставляющий узел и порт, на которые передается датаграмма.
Возвращаемое значение
Число отправленных байтов.
Исключения
UdpClient уже установил удаленный узел по умолчанию и endPoint
не null
имеет значения .
UdpClient закрыт.
Произошла ошибка при обращении к сокету.