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