Asposecpplib
System::Net::Sockets::UdpClient Class Reference

Provides User Datagram Protocol (UDP) network services. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...

Inherits System::IDisposable.

Public Member Functions

System::SharedPtr< Socketget_Client ()
 Used to provide the underlying network socket. More...
 
void set_Client (System::SharedPtr< Socket > value)
 Used to provide the underlying network socket. More...
 
 UdpClient ()
 Initializes a new instance of the UdpClient class. More...
 
 UdpClient (AddressFamily family)
 Initializes a new instance of the UdpClient class. More...
 
 UdpClient (int32_t port)
 Initializes a new instance of the UdpClient class. More...
 
 UdpClient (int32_t port, AddressFamily family)
 Initializes a new instance of the UdpClient class. More...
 
 UdpClient (System::SharedPtr< IPEndPoint > localEP)
 Initializes a new instance of the UdpClient class. param local EP the local endpoint to which you bind the UDP connection. More...
 
 UdpClient (String hostname, int32_t port)
 Creates a new instance of the UdpClient class and connects to the specified remote host on the specified port. More...
 
void Close ()
 Closes the UDP connection. More...
 
void Dispose () override
 Releases the managed and unmanaged resources used by the UdpClient. More...
 
void Connect (String hostname, int32_t port)
 Establishes a connection to the specified port on the specified host. More...
 
void Connect (System::SharedPtr< IPAddress > addr, int32_t port)
 Establishes a connection with the host at the specified address on the specified port. More...
 
void Connect (System::SharedPtr< IPEndPoint > endPoint)
 Establishes a connection to a remote end point. More...
 
int32_t Send (System::ArrayPtr< uint8_t > dgram, int32_t bytes, System::SharedPtr< IPEndPoint > endPoint)
 Sends a UDP datagram to the host at the remote end point. More...
 
int32_t Send (System::ArrayPtr< uint8_t > dgram, int32_t bytes, String hostname, int32_t port)
 Sends a UDP datagram to the specified port on the specified remote host. More...
 
int32_t Send (System::ArrayPtr< uint8_t > dgram, int32_t bytes)
 Sends a UDP datagram to a remote host. More...
 
System::ArrayPtr< uint8_t > Receive (System::SharedPtr< IPEndPoint > &remoteEP)
 Returns a datagram sent by a server. More...
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Protected Member Functions

bool get_Active ()
 Gets a value that indicates if the current instance is actively listening for the client connections. More...
 
void set_Active (bool value)
 Sets a value that indicates if the current instance is actively listening for the client connections. More...
 
virtual void Dispose (bool disposing)
 Disposes the current instance. This method also disposes the underlying socket. More...
 
 ~UdpClient () override
 Destructs the current instance. More...
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 

Detailed Description

Provides User Datagram Protocol (UDP) network services. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Constructor & Destructor Documentation

◆ UdpClient() [1/6]

System::Net::Sockets::UdpClient::UdpClient ( )

Initializes a new instance of the UdpClient class.

◆ UdpClient() [2/6]

System::Net::Sockets::UdpClient::UdpClient ( AddressFamily  family)

Initializes a new instance of the UdpClient class.

Parameters
familyvalue that specifies the addressing scheme of the socket.

◆ UdpClient() [3/6]

System::Net::Sockets::UdpClient::UdpClient ( int32_t  port)

Initializes a new instance of the UdpClient class.

Parameters
portthe local port number from which you intend to communicate.

◆ UdpClient() [4/6]

System::Net::Sockets::UdpClient::UdpClient ( int32_t  port,
AddressFamily  family 
)

Initializes a new instance of the UdpClient class.

Parameters
portthe local port number from which you intend to communicate.
familyvalue that specifies the addressing scheme of the socket.

◆ UdpClient() [5/6]

System::Net::Sockets::UdpClient::UdpClient ( System::SharedPtr< IPEndPoint localEP)

Initializes a new instance of the UdpClient class. param local EP the local endpoint to which you bind the UDP connection.

◆ UdpClient() [6/6]

System::Net::Sockets::UdpClient::UdpClient ( String  hostname,
int32_t  port 
)

Creates a new instance of the UdpClient class and connects to the specified remote host on the specified port.

Parameters
hostnameThe name of the remote DNS host to which you intend to connect.
portThe local port number from which you intend to communicate.

◆ ~UdpClient()

System::Net::Sockets::UdpClient::~UdpClient ( )
overrideprotected

Destructs the current instance.

Member Function Documentation

◆ Close()

void System::Net::Sockets::UdpClient::Close ( )

Closes the UDP connection.

◆ Connect() [1/3]

void System::Net::Sockets::UdpClient::Connect ( String  hostname,
int32_t  port 
)

Establishes a connection to the specified port on the specified host.

Parameters
hostnameThe name of the remote DNS host to which you intend to connect.
portThe local port number from which you intend to communicate.

◆ Connect() [2/3]

void System::Net::Sockets::UdpClient::Connect ( System::SharedPtr< IPAddress addr,
int32_t  port 
)

Establishes a connection with the host at the specified address on the specified port.

Parameters
addrThe IPAddress of the remote host to which to send data.
portThe local port number from which you intend to communicate.

◆ Connect() [3/3]

void System::Net::Sockets::UdpClient::Connect ( System::SharedPtr< IPEndPoint endPoint)

Establishes a connection to a remote end point.

Parameters
endPointthe endpoint to which you bind the UDP connection.

◆ Dispose() [1/2]

void System::Net::Sockets::UdpClient::Dispose ( )
overridevirtual

Releases the managed and unmanaged resources used by the UdpClient.

Reimplemented from System::IDisposable.

◆ Dispose() [2/2]

virtual void System::Net::Sockets::UdpClient::Dispose ( bool  disposing)
protectedvirtual

Disposes the current instance. This method also disposes the underlying socket.

Parameters
disposingTrue when the method is called directly or indirectly by a user's code, otherwise false.

◆ get_Active()

bool System::Net::Sockets::UdpClient::get_Active ( )
protected

Gets a value that indicates if the current instance is actively listening for the client connections.

Returns
A value that indicates if the current instance is actively listening for the client connections.

◆ get_Client()

System::SharedPtr<Socket> System::Net::Sockets::UdpClient::get_Client ( )

Used to provide the underlying network socket.

Returns
The underlying network socket.

◆ Receive()

System::ArrayPtr<uint8_t> System::Net::Sockets::UdpClient::Receive ( System::SharedPtr< IPEndPoint > &  remoteEP)

Returns a datagram sent by a server.

Parameters
remoteEPAn IPEndPoint that represents the remote host from which the data was sent.
Returns
A byte array where received data will be assigned.

◆ Send() [1/3]

int32_t System::Net::Sockets::UdpClient::Send ( System::ArrayPtr< uint8_t >  dgram,
int32_t  bytes 
)

Sends a UDP datagram to a remote host.

Parameters
dgramAn array of type Byte to send.
bytesThe number of bytes in the datagram.
Returns
The number of bytes that are sent.

◆ Send() [2/3]

int32_t System::Net::Sockets::UdpClient::Send ( System::ArrayPtr< uint8_t >  dgram,
int32_t  bytes,
String  hostname,
int32_t  port 
)

Sends a UDP datagram to the specified port on the specified remote host.

Parameters
dgramAn array of type Byte to send
bytesThe number of bytes in the datagram.
hostnameA name of the remote host.
portA remote port number.
Returns
The number of bytes that are sent.

◆ Send() [3/3]

int32_t System::Net::Sockets::UdpClient::Send ( System::ArrayPtr< uint8_t >  dgram,
int32_t  bytes,
System::SharedPtr< IPEndPoint endPoint 
)

Sends a UDP datagram to the host at the remote end point.

Parameters
dgramAn array of type Byte to send
bytesThe number of bytes in the datagram.
endPointAn IPEndPoint that represents the host and port to which to send the datagram.
Returns
The number of bytes that are sent.

◆ set_Active()

void System::Net::Sockets::UdpClient::set_Active ( bool  value)
protected

Sets a value that indicates if the current instance is actively listening for the client connections.

Parameters
valueThe value that must be set.

◆ set_Client()

void System::Net::Sockets::UdpClient::set_Client ( System::SharedPtr< Socket value)

Used to provide the underlying network socket.

Parameters
valueThe value that must be set.