UdpClient Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса UdpClient.
Перегрузки
UdpClient() |
Инициализирует новый экземпляр класса UdpClient. |
UdpClient(Int32) |
Инициализирует новый экземпляр класса UdpClient и связывает его с заданным номером локального порта. |
UdpClient(IPEndPoint) |
Инициализирует новый экземпляр класса UdpClient и связывает его с заданной локальной конечной точкой. |
UdpClient(AddressFamily) |
Инициализирует новый экземпляр класса UdpClient. |
UdpClient(Int32, AddressFamily) |
Инициализирует новый экземпляр класса UdpClient и связывает его с заданным номером локального порта. |
UdpClient(String, Int32) |
Инициализирует новый экземпляр класса UdpClient и устанавливает удаленный узел, используемый по умолчанию. |
UdpClient()
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient.
public:
UdpClient();
public UdpClient ();
Public Sub New ()
Исключения
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере показано, как использовать конструктор без параметров для создания экземпляра UdpClient класса .
//Creates an instance of the UdpClient class using the default constructor.
UdpClient^ udpClient = gcnew UdpClient;
//Creates an instance of the UdpClient class using the default constructor.
UdpClient udpClient = new UdpClient();
'Creates an instance of the UdpClient class using the default constructor.
Dim udpClient As New UdpClient()
Комментарии
Этот конструктор создает новый UdpClient и позволяет базовому поставщику услуг назначить наиболее подходящий локальный IPv4-адрес и номер порта. Если используется этот конструктор, UdpClient экземпляру присваивается семейство адресов IPv4, которое не может быть изменено или перезаписано вызовом метода connect с целевым объектом IPv6.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Этот конструктор не подходит для присоединения к группе многоадресной рассылки, так как он не выполняет привязку сокета. Кроме того, он работает только с типами адресов IPv4.
Применяется к
UdpClient(Int32)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient и связывает его с заданным номером локального порта.
public:
UdpClient(int port);
public UdpClient (int port);
new System.Net.Sockets.UdpClient : int -> System.Net.Sockets.UdpClient
Public Sub New (port As Integer)
Параметры
- port
- Int32
Номер локального порта, который планируется использовать для связи.
Исключения
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере показано использование номера локального порта для создания экземпляра UdpClient класса .
//Creates an instance of the UdpClient class to listen on
// the default interface using a particular port.
try
{
UdpClient^ udpClient = gcnew UdpClient( 11000 );
}
catch ( Exception^ e )
{
Console::WriteLine( e->ToString() );
}
//Creates an instance of the UdpClient class to listen on
// the default interface using a particular port.
try{
UdpClient udpClient = new UdpClient(11000);
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
'Creates an instance of the UdpClient class to listen on
'the default interface using a particular port.
Try
Dim udpClient As New UdpClient(11000)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Комментарии
Этот конструктор создает базовый Socket объект и привязывает его к номеру порта, с которого вы планируете обмениваться данными. Используйте этот конструктор, если вы хотите задать только номер локального порта. Базовый поставщик услуг назначит локальный IP-адрес. Если передать 0 конструктору, базовый поставщик услуг назначит номер порта. Если используется этот конструктор, UdpClient экземпляру присваивается семейство адресов IPv4, которое не может быть изменено или перезаписано вызовом метода connect с целевым объектом IPv6.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Этот конструктор работает только с типами IPv4-адресов.
Применяется к
UdpClient(IPEndPoint)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient и связывает его с заданной локальной конечной точкой.
public:
UdpClient(System::Net::IPEndPoint ^ localEP);
public UdpClient (System.Net.IPEndPoint localEP);
new System.Net.Sockets.UdpClient : System.Net.IPEndPoint -> System.Net.Sockets.UdpClient
Public Sub New (localEP As IPEndPoint)
Параметры
- localEP
- IPEndPoint
Объект IPEndPoint, предоставляющий локальную конечную точку, к которой выполняется привязка UDP-подключения.
Исключения
localEP
имеет значение null
.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере показано, как создать экземпляр UdpClient класса с помощью локальной конечной точки.
//Creates an instance of the UdpClient class using a local endpoint.
IPAddress^ ipAddress = Dns::Resolve( Dns::GetHostName() )->AddressList[ 0 ];
IPEndPoint^ ipLocalEndPoint = gcnew IPEndPoint( ipAddress,11000 );
try
{
UdpClient^ udpClient = gcnew UdpClient( ipLocalEndPoint );
}
catch ( Exception^ e )
{
Console::WriteLine( e->ToString() );
}
//Creates an instance of the UdpClient class using a local endpoint.
IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000);
try{
UdpClient udpClient = new UdpClient(ipLocalEndPoint);
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
'Creates an instance of the UdpClient class using a local endpoint.
Dim ipAddress As IPAddress = Dns.Resolve(Dns.GetHostName()).AddressList(0)
Dim ipLocalEndPoint As New IPEndPoint(ipAddress, 11000)
Try
Dim udpClient As New UdpClient(ipLocalEndPoint)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Комментарии
Этот конструктор создает новый UdpClient объект и привязывает его к объекту , IPEndPoint указанному параметром localEP
. Перед вызовом этого конструктора необходимо создать IPEndPoint , используя IP-адрес и номер порта, с которых планируется отправлять и получать данные. Вам не нужно указывать локальный IP-адрес и номер порта для отправки и получения данных. В противном случае базовый поставщик услуг назначит наиболее подходящий локальный IP-адрес и номер порта.
Если используется этот конструктор, экземпляр задается с семейством адресов, UdpClient указанным параметром localEP
, которое не может быть изменено или перезаписано вызовом метода connect с другим семейством адресов.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
См. также раздел
Применяется к
UdpClient(AddressFamily)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient.
public:
UdpClient(System::Net::Sockets::AddressFamily family);
public UdpClient (System.Net.Sockets.AddressFamily family);
new System.Net.Sockets.UdpClient : System.Net.Sockets.AddressFamily -> System.Net.Sockets.UdpClient
Public Sub New (family As AddressFamily)
Параметры
- family
- AddressFamily
Одно из значений AddressFamily, которое задает схему адресации для сокета.
Исключения
Свойству family
задано значение, отличное от InterNetwork или InterNetworkV6.
Произошла ошибка при обращении к сокету.
Комментарии
Параметр family
определяет, использует ли прослушиватель IP-адрес версии 4 (IPv4) или IP-адрес версии 6 (IPv6). Чтобы использовать IPv4-адрес, передайте InterNetwork значение . Чтобы использовать IPv6-адрес, передайте InterNetworkV6 значение . Передача любого другого значения вызывает метод для вызова ArgumentException.
Если используется этот конструктор, экземпляр задается с семейством адресов, UdpClient указанным параметром family
, которое не может быть изменено или перезаписано вызовом метода connect с другим семейством адресов.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
не UdpClient.UdpClient(AddressFamily) подходит для присоединения к группе многоадресной рассылки, так как он не выполняет привязку сокета.
Применяется к
UdpClient(Int32, AddressFamily)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient и связывает его с заданным номером локального порта.
public:
UdpClient(int port, System::Net::Sockets::AddressFamily family);
public UdpClient (int port, System.Net.Sockets.AddressFamily family);
new System.Net.Sockets.UdpClient : int * System.Net.Sockets.AddressFamily -> System.Net.Sockets.UdpClient
Public Sub New (port As Integer, family As AddressFamily)
Параметры
- port
- Int32
Порт, на котором производится ожидание входящих попыток подключений.
- family
- AddressFamily
Одно из значений AddressFamily, которое задает схему адресации для сокета.
Исключения
Свойству family
задано значение, отличное от InterNetwork или InterNetworkV6.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере кода показано, как создать клиент UDP для использования в группе многоадресной рассылки.
// Bind and listen on port 2000. This constructor creates a socket
// and binds it to the port on which to receive data. The family
// parameter specifies that this connection uses an IPv6 address.
clientOriginator = gcnew UdpClient( 2000,AddressFamily::InterNetworkV6 );
// Join or create a multicast group. The multicast address ranges
// to use are specified in RFC#2375. You are free to use
// different addresses.
// Transform the String* address into the internal format.
m_GrpAddr = IPAddress::Parse( "FF01::1" );
// Display the multicast address used.
Console::WriteLine( "Multicast Address: [ {0}]", m_GrpAddr );
// Exercise the use of the IPv6MulticastOption.
Console::WriteLine( "Instantiate IPv6MulticastOption(IPAddress)" );
// Instantiate IPv6MulticastOption using one of the
// overloaded constructors.
IPv6MulticastOption^ ipv6MulticastOption = gcnew IPv6MulticastOption( m_GrpAddr );
// Store the IPAdress multicast options.
IPAddress^ group = ipv6MulticastOption->Group;
__int64 interfaceIndex = ipv6MulticastOption->InterfaceIndex;
// Display IPv6MulticastOption properties.
Console::WriteLine( "IPv6MulticastOption::Group: [ {0}]", group );
Console::WriteLine( "IPv6MulticastOption::InterfaceIndex: [ {0}]", interfaceIndex );
// Instantiate IPv6MulticastOption using another
// overloaded constructor.
IPv6MulticastOption^ ipv6MulticastOption2 = gcnew IPv6MulticastOption( group,interfaceIndex );
// Store the IPAdress multicast options.
group = ipv6MulticastOption2->Group;
interfaceIndex = ipv6MulticastOption2->InterfaceIndex;
// Display the IPv6MulticastOption2 properties.
Console::WriteLine( "IPv6MulticastOption::Group: [ {0} ]", group );
Console::WriteLine( "IPv6MulticastOption::InterfaceIndex: [ {0} ]", interfaceIndex );
// Join the specified multicast group using one of the
// JoinMulticastGroup overloaded methods.
clientOriginator->JoinMulticastGroup( (int)interfaceIndex, group );
// Define the endpoint data port. Note that this port number
// must match the ClientTarget UDP port number which is the
// port on which the ClientTarget is receiving data.
m_ClientTargetdest = gcnew IPEndPoint( m_GrpAddr,1000 );
// Bind and listen on port 2000. This constructor creates a socket
// and binds it to the port on which to receive data. The family
// parameter specifies that this connection uses an IPv6 address.
clientOriginator = new UdpClient(2000, AddressFamily.InterNetworkV6);
// Join or create a multicast group. The multicast address ranges
// to use are specified in RFC#2375. You are free to use
// different addresses.
// Transform the string address into the internal format.
m_GrpAddr = IPAddress.Parse("FF01::1");
// Display the multicast address used.
Console.WriteLine("Multicast Address: [" + m_GrpAddr.ToString() + "]");
// Exercise the use of the IPv6MulticastOption.
Console.WriteLine("Instantiate IPv6MulticastOption(IPAddress)");
// Instantiate IPv6MulticastOption using one of the
// overloaded constructors.
IPv6MulticastOption ipv6MulticastOption = new IPv6MulticastOption(m_GrpAddr);
// Store the IPAdress multicast options.
IPAddress group = ipv6MulticastOption.Group;
long interfaceIndex = ipv6MulticastOption.InterfaceIndex;
// Display IPv6MulticastOption properties.
Console.WriteLine("IPv6MulticastOption.Group: [" + group + "]");
Console.WriteLine("IPv6MulticastOption.InterfaceIndex: [" + interfaceIndex + "]");
// Instantiate IPv6MulticastOption using another
// overloaded constructor.
IPv6MulticastOption ipv6MulticastOption2 = new IPv6MulticastOption(group, interfaceIndex);
// Store the IPAdress multicast options.
group = ipv6MulticastOption2.Group;
interfaceIndex = ipv6MulticastOption2.InterfaceIndex;
// Display the IPv6MulticastOption2 properties.
Console.WriteLine("IPv6MulticastOption.Group: [" + group + "]");
Console.WriteLine("IPv6MulticastOption.InterfaceIndex: [" + interfaceIndex + "]");
// Join the specified multicast group using one of the
// JoinMulticastGroup overloaded methods.
clientOriginator.JoinMulticastGroup((int)interfaceIndex, group);
// Define the endpoint data port. Note that this port number
// must match the ClientTarget UDP port number which is the
// port on which the ClientTarget is receiving data.
m_ClientTargetdest = new IPEndPoint(m_GrpAddr, 1000);
' Bind and listen on port 2000. This constructor creates a socket
' and binds it to the port on which to receive data. The family
' parameter specifies that this connection uses an IPv6 address.
clientOriginator = New UdpClient(2000, AddressFamily.InterNetworkV6)
' Join or create a multicast group. The multicast address ranges
' to use are specified in RFC#2375. You are free to use
' different addresses.
' Transform the string address into the internal format.
m_GrpAddr = IPAddress.Parse("FF01::1")
' Display the multicast address used.
Console.WriteLine(("Multicast Address: [" + m_GrpAddr.ToString() + "]"))
' Exercise the use of the IPv6MulticastOption.
Console.WriteLine("Instantiate IPv6MulticastOption(IPAddress)")
' Instantiate IPv6MulticastOption using one of the
' overloaded constructors.
Dim ipv6MulticastOption As New IPv6MulticastOption(m_GrpAddr)
' Store the IPAdress multicast options.
Dim group As IPAddress = ipv6MulticastOption.Group
Dim interfaceIndex As Long = ipv6MulticastOption.InterfaceIndex
' Display IPv6MulticastOption properties.
Console.WriteLine(("IPv6MulticastOption.Group: [" + group.ToString() + "]"))
Console.WriteLine(("IPv6MulticastOption.InterfaceIndex: [" + interfaceIndex.ToString() + "]"))
' Instantiate IPv6MulticastOption using another
' overloaded constructor.
Dim ipv6MulticastOption2 As New IPv6MulticastOption(group, interfaceIndex)
' Store the IPAdress multicast options.
group = ipv6MulticastOption2.Group
interfaceIndex = ipv6MulticastOption2.InterfaceIndex
' Display the IPv6MulticastOption2 properties.
Console.WriteLine(("IPv6MulticastOption.Group: [" + group.ToString() + "]"))
Console.WriteLine(("IPv6MulticastOption.InterfaceIndex: [" + interfaceIndex.ToString() + "]"))
' Join the specified multicast group using one of the
' JoinMulticastGroup overloaded methods.
clientOriginator.JoinMulticastGroup(Fix(interfaceIndex), group)
' Define the endpoint data port. Note that this port number
' must match the ClientTarget UDP port number which is the
' port on which the ClientTarget is receiving data.
m_ClientTargetdest = New IPEndPoint(m_GrpAddr, 1000)
Комментарии
Этот конструктор создает базовый Socket объект и привязывает его к номеру порта, с которого вы планируете обмениваться данными.
Параметр family
определяет, использует ли прослушиватель IP-адрес версии 4 (IPv4) или IP-адрес версии 6 (IPv6). Чтобы использовать IPv4-адрес, передайте InterNetwork значение . Чтобы использовать IPv6-адрес, передайте InterNetworkV6 значение . Передача любого другого значения вызывает метод для вызова ArgumentException.
Если используется этот конструктор, экземпляр задается с семейством адресов, UdpClient указанным параметром family
, которое не может быть изменено или перезаписано вызовом метода connect с другим семейством адресов.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, обратитесь к документации по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Применяется к
UdpClient(String, Int32)
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
- Исходный код:
- UDPClient.cs
Инициализирует новый экземпляр класса UdpClient и устанавливает удаленный узел, используемый по умолчанию.
public:
UdpClient(System::String ^ hostname, int port);
public UdpClient (string hostname, int port);
new System.Net.Sockets.UdpClient : string * int -> System.Net.Sockets.UdpClient
Public Sub New (hostname As String, port As Integer)
Параметры
- hostname
- String
Имя удаленного DNS-узла, к которому планируется подключение.
- port
- Int32
Номер удаленного порта, к которому планируется выполнить подключение.
Исключения
hostname
имеет значение null
.
Произошла ошибка при обращении к сокету.
Примеры
В следующем примере показано, как создать экземпляр UdpClient класса , используя имя узла и номер порта.
//Creates an instance of the UdpClient class with a remote host name and a port number.
try
{
UdpClient^ udpClient = gcnew UdpClient( "www.contoso.com",11000 );
}
catch ( Exception^ e )
{
Console::WriteLine( e->ToString() );
}
//Creates an instance of the UdpClient class with a remote host name and a port number.
try{
UdpClient udpClient = new UdpClient("www.contoso.com",11000);
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
'Creates an instance of the UdpClient class with a remote host name and a port number.
Try
Dim udpClient As New UdpClient("www.contoso.com", 11000)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Комментарии
Этот конструктор инициализирует новый UdpClient и устанавливает удаленный узел с помощью hostname
параметров и port
. Установка удаленного узла по умолчанию является необязательным. При использовании этого конструктора не нужно указывать удаленный узел в каждом вызове Send метода . Указание удаленного узла по умолчанию ограничивает вас только этим узлом. Удаленный узел по умолчанию можно изменить в любое время, вызвав Connect метод . Если вы хотите указать удаленный узел в вызове Send метода , не используйте этот конструктор.
Примечание
Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.