Поделиться через


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 установлен удаленный узел по умолчанию.

При доступе к сокету произошла ошибка.

Примеры

В следующем примере демонстрируется 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 установлен удаленный узел по умолчанию.

При доступе к сокету произошла ошибка.

Применяется к

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 уже установил удаленный узел по умолчанию.

При доступе к сокету произошла ошибка.

Примеры

В следующем примере демонстрируется 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 установлен удаленный узел по умолчанию.

При доступе к сокету произошла ошибка.

Примеры

В следующем примере демонстрируется 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 установлен удаленный узел по умолчанию.

При доступе к сокету произошла ошибка.

Применяется к

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является.

При доступе к сокету произошла ошибка.

Применяется к