Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > ad1ba1135a9c9eeffc2e538163e00373 > files > 802

libCommonC++2_1.4-devel-1.4.1-1mdv2007.0.i586.rpm

\section{ost::UDPSocket Class Reference}
\label{classost_1_1_u_d_p_socket}\index{ost::UDPSocket@{ost::UDPSocket}}
UDP sockets implement the TCP SOCK\_\-DGRAM UDP protocol.Unreliable Datagram Protocol sockets.  


{\tt \#include $<$socket.h$>$}

Inheritance diagram for ost::UDPSocket::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classost_1_1_u_d_p_socket}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf UDPSocket} ({\bf Family} {\bf family}=IPV4)
\begin{CompactList}\small\item\em Create an unbound UDP socket, mostly for internal use. \item\end{CompactList}\item 
{\bf UDPSocket} (const char $\ast$name, {\bf Family} {\bf family}=IPV4)
\begin{CompactList}\small\item\em Create a UDP socket bound by a service name. \item\end{CompactList}\item 
{\bf UDPSocket} (const {\bf IPV4Address} \&bind, {\bf tpport\_\-t} port)
\begin{CompactList}\small\item\em Create a UDP socket and bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it. \item\end{CompactList}\item 
{\bf UDPSocket} (const {\bf IPV6Address} \&bind, {\bf tpport\_\-t} port)
\item 
virtual {\bf $\sim$UDPSocket} ()
\begin{CompactList}\small\item\em Destroy a UDP socket as a socket. \item\end{CompactList}\item 
{\bf Error} {\bf set\-Loopback} (bool enable)
\begin{CompactList}\small\item\em Set the loopback. \item\end{CompactList}\item 
{\bf Error} {\bf set\-Multicast} (bool enable)
\begin{CompactList}\small\item\em Set the multicast. \item\end{CompactList}\item 
{\bf Error} {\bf set\-Time\-To\-Live} (char {\bf ttl})
\begin{CompactList}\small\item\em Set time to live. \item\end{CompactList}\item 
void {\bf set\-Peer} (const {\bf IPV4Host} \&host, {\bf tpport\_\-t} port)
\begin{CompactList}\small\item\em set the peer address to send message packets to. \item\end{CompactList}\item 
void {\bf connect} (const {\bf IPV4Host} \&host, {\bf tpport\_\-t} port)
\item 
void {\bf set\-Peer} (const {\bf IPV6Host} \&host, {\bf tpport\_\-t} port)
\item 
void {\bf connect} (const {\bf IPV6Host} \&host, {\bf tpport\_\-t} port)
\item 
{\bf Socket::Error} {\bf get\-Interface\-Index} (const char $\ast$eth\-X, int \&Interface\-Index)
\begin{CompactList}\small\item\em get the interface index for a named network device \item\end{CompactList}\item 
{\bf Socket::Error} {\bf join} (const {\bf IPV4Multicast} \&ia, int Interface\-Index)
\begin{CompactList}\small\item\em join a multicast group on a particular interface \item\end{CompactList}\item 
ssize\_\-t {\bf send} (const void $\ast$buf, size\_\-t len)
\begin{CompactList}\small\item\em Send a message packet to a peer host. \item\end{CompactList}\item 
ssize\_\-t {\bf receive} (void $\ast$buf, size\_\-t len, bool reply=false)
\begin{CompactList}\small\item\em Receive a message from any host. \item\end{CompactList}\item 
{\bf IPV4Host} {\bf get\-IPV4Peer} ({\bf tpport\_\-t} $\ast$port=NULL) const 
\begin{CompactList}\small\item\em Examine address of sender of next waiting packet. \item\end{CompactList}\item 
{\bf IPV4Host} {\bf get\-Peer} ({\bf tpport\_\-t} $\ast$port=NULL) const 
\item 
{\bf IPV6Host} {\bf get\-IPV6Peer} ({\bf tpport\_\-t} $\ast$port=NULL) const 
\item 
ssize\_\-t {\bf peek} (void $\ast$buf, size\_\-t len)
\begin{CompactList}\small\item\em Examine contents of next waiting packet. \item\end{CompactList}\item 
void {\bf set\-Peer} (const char $\ast$service)
\begin{CompactList}\small\item\em Associate socket with a named connection. \item\end{CompactList}\item 
void {\bf connect} (const char $\ast$service)
\item 
{\bf Error} {\bf disconnect} (void)
\begin{CompactList}\small\item\em Disassociate this socket from any host connection. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>sockaddr\_in6 {\bf ipv6}\\
\>sockaddr\_in {\bf ipv4}\\
\} {\bf peer}\\

\end{tabbing}\item 
{\bf Family} {\bf family}
\end{CompactItemize}


\subsection{Detailed Description}
UDP sockets implement the TCP SOCK\_\-DGRAM UDP protocol.Unreliable Datagram Protocol sockets. 

They can be used to pass unverified messages between hosts, or to broadcast a specific message to an entire subnet. Please note that Streaming of realtime data commonly use {\bf UDPDuplex}{\rm (p.\,\pageref{classost_1_1_u_d_p_duplex})} related classes rather than {\bf UDPSocket}{\rm (p.\,\pageref{classost_1_1_u_d_p_socket})}.

In addition to connected TCP sessions, Common C++ supports UDP sockets and these also cover a range of functionality. Like a {\bf TCPSocket}{\rm (p.\,\pageref{classost_1_1_t_c_p_socket})}, A {\bf UDPSocket}{\rm (p.\,\pageref{classost_1_1_u_d_p_socket})} can be created bound to a specific network interface and/or port address, though this is not required. UDP sockets also are usually either connected or otherwise \char`\"{}associated\char`\"{} with a specific \char`\"{}peer\char`\"{} UDP socket. Since UDP sockets operate through discreet packets, there are no streaming operators used with UDP sockets.

In addition to the UDP \char`\"{}socket\char`\"{} class, there is a \char`\"{}UDPBroadcast\char`\"{} class. The {\bf UDPBroadcast}{\rm (p.\,\pageref{classost_1_1_u_d_p_broadcast})} is a socket that is set to send messages to a subnet as a whole rather than to an individual peer socket that it may be associated with.

UDP sockets are often used for building \char`\"{}realtime\char`\"{} media streaming protocols and full duplex messaging services. When used in this manner, typically a pair of UDP sockets are used together; one socket is used to send and the other to receive data with an associated pair of UDP sockets on a \char`\"{}peer\char`\"{} host. This concept is represented through the Common C++ {\bf UDPDuplex}{\rm (p.\,\pageref{classost_1_1_u_d_p_duplex})} object, which is a pair of sockets that communicate with another {\bf UDPDuplex}{\rm (p.\,\pageref{classost_1_1_u_d_p_duplex})} pair.

\begin{Desc}
\item[Author:]David Sugar $<${\tt dyfet@ostel.com}$>$ \end{Desc}




\subsection{Constructor \& Destructor Documentation}
\index{ost::UDPSocket@{ost::UDPSocket}!UDPSocket@{UDPSocket}}
\index{UDPSocket@{UDPSocket}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::UDPSocket::UDPSocket ({\bf Family} {\em family} = {\tt IPV4})}\label{classost_1_1_u_d_p_socket_0171b5791de219c33e0bef1a7f01d366}


Create an unbound UDP socket, mostly for internal use. 

\index{ost::UDPSocket@{ost::UDPSocket}!UDPSocket@{UDPSocket}}
\index{UDPSocket@{UDPSocket}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::UDPSocket::UDPSocket (const char $\ast$ {\em name}, {\bf Family} {\em family} = {\tt IPV4})}\label{classost_1_1_u_d_p_socket_8f9e2a46cf3aaa4edf41cfb9ed402171}


Create a UDP socket bound by a service name. 

\index{ost::UDPSocket@{ost::UDPSocket}!UDPSocket@{UDPSocket}}
\index{UDPSocket@{UDPSocket}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::UDPSocket::UDPSocket (const {\bf IPV4Address} \& {\em bind}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_0e5c7aed7d7dbee9152282ca9d3627d2}


Create a UDP socket and bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it. 

On failure to bind, an exception is thrown.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em bind}]address to bind this socket to. \item[{\em port}]number to bind this socket to. \end{description}
\end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!UDPSocket@{UDPSocket}}
\index{UDPSocket@{UDPSocket}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::UDPSocket::UDPSocket (const {\bf IPV6Address} \& {\em bind}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_781894813be82c4f6aa5827fa087fb68}


\index{ost::UDPSocket@{ost::UDPSocket}!~UDPSocket@{$\sim$UDPSocket}}
\index{~UDPSocket@{$\sim$UDPSocket}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual ost::UDPSocket::$\sim$UDPSocket ()\hspace{0.3cm}{\tt  [virtual]}}\label{classost_1_1_u_d_p_socket_513c2f1fb2f84a295fe78527e47e052e}


Destroy a UDP socket as a socket. 



\subsection{Member Function Documentation}
\index{ost::UDPSocket@{ost::UDPSocket}!connect@{connect}}
\index{connect@{connect}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::connect (const char $\ast$ {\em service})}\label{classost_1_1_u_d_p_socket_197a034e4ebc8172ede75d1d69616f15}


\index{ost::UDPSocket@{ost::UDPSocket}!connect@{connect}}
\index{connect@{connect}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::connect (const {\bf IPV6Host} \& {\em host}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_759c8f5c76cacfdeac979a5034d658d7}




Reimplemented in {\bf ost::UDPReceive} {\rm (p.\,\pageref{classost_1_1_u_d_p_receive_0e8c851cbc68729353b76894107091e9})}, and {\bf ost::UDPDuplex} {\rm (p.\,\pageref{classost_1_1_u_d_p_duplex_60abbfd8ef6eac65c8b9726a1d489440})}.\index{ost::UDPSocket@{ost::UDPSocket}!connect@{connect}}
\index{connect@{connect}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::connect (const {\bf IPV4Host} \& {\em host}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_519db2909a1c43e791e6620b758d3fdc}




Reimplemented in {\bf ost::UDPTransmit} {\rm (p.\,\pageref{classost_1_1_u_d_p_transmit_d9b9d46dfaf10ad1555c0fa08db339be})}, {\bf ost::UDPReceive} {\rm (p.\,\pageref{classost_1_1_u_d_p_receive_a669c5dcf686c200752d4ca125f9f4a6})}, and {\bf ost::UDPDuplex} {\rm (p.\,\pageref{classost_1_1_u_d_p_duplex_219b6497a5dd25e943639cfc1bbb8f81})}.\index{ost::UDPSocket@{ost::UDPSocket}!disconnect@{disconnect}}
\index{disconnect@{disconnect}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::UDPSocket::disconnect (void)}\label{classost_1_1_u_d_p_socket_cb4faa86204e7b37bf447f4802c8940d}


Disassociate this socket from any host connection. 

No data should be read or written until a connection is established. 

Reimplemented in {\bf ost::UDPDuplex} {\rm (p.\,\pageref{classost_1_1_u_d_p_duplex_fa88407cb5be59e11154ce250a5a5c5c})}.\index{ost::UDPSocket@{ost::UDPSocket}!getInterfaceIndex@{getInterfaceIndex}}
\index{getInterfaceIndex@{getInterfaceIndex}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Socket::Error} ost::UDPSocket::get\-Interface\-Index (const char $\ast$ {\em eth\-X}, int \& {\em Interface\-Index})}\label{classost_1_1_u_d_p_socket_ef52438ac3e537420d3264690a628dfa}


get the interface index for a named network device 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em eth\-X}]is device name, like \char`\"{}eth0\char`\"{} or \char`\"{}eth1\char`\"{} \item[{\em Interface\-Index}]is the index value returned by os \end{description}
\end{Desc}
\begin{Desc}
\item[{\bf Todo}]Win32 and ipv6 specific implementation. \end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!getIPV4Peer@{getIPV4Peer}}
\index{getIPV4Peer@{getIPV4Peer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IPV4Host} ost::UDPSocket::get\-IPV4Peer ({\bf tpport\_\-t} $\ast$ {\em port} = {\tt NULL}) const}\label{classost_1_1_u_d_p_socket_a2d073bd4fa3c3f1c7b70629996c67f7}


Examine address of sender of next waiting packet. 

This also sets \char`\"{}peer\char`\"{} address to the sender so that the next \char`\"{}send\char`\"{} message acts as a \char`\"{}reply\char`\"{}. This additional behavior overides the standard socket get\-Sender behavior.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em port}]pointer to hold port number. \end{description}
\end{Desc}


Reimplemented from {\bf ost::Socket} {\rm (p.\,\pageref{classost_1_1_socket_8c8d2cfd48c75b03dc776b38b1c095f7})}.\index{ost::UDPSocket@{ost::UDPSocket}!getIPV6Peer@{getIPV6Peer}}
\index{getIPV6Peer@{getIPV6Peer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IPV6Host} ost::UDPSocket::get\-IPV6Peer ({\bf tpport\_\-t} $\ast$ {\em port} = {\tt NULL}) const}\label{classost_1_1_u_d_p_socket_37b34f874ffb96bfc933b4eda0f6e80c}




Reimplemented from {\bf ost::Socket} {\rm (p.\,\pageref{classost_1_1_socket_d625daf4cffb541c5e8592792d4ee77e})}.\index{ost::UDPSocket@{ost::UDPSocket}!getPeer@{getPeer}}
\index{getPeer@{getPeer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf IPV4Host} ost::UDPSocket::get\-Peer ({\bf tpport\_\-t} $\ast$ {\em port} = {\tt NULL}) const\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_d_p_socket_5d06e7131790dd26cc3cf0b1531af3a2}




Reimplemented from {\bf ost::Socket} {\rm (p.\,\pageref{classost_1_1_socket_6fd1dffdfe9606e56fba838559ff6d67})}.\index{ost::UDPSocket@{ost::UDPSocket}!join@{join}}
\index{join@{join}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Socket::Error} ost::UDPSocket::join (const {\bf IPV4Multicast} \& {\em ia}, int {\em Interface\-Index})}\label{classost_1_1_u_d_p_socket_a0277a5c4667f5c9e192c1dc5486b5fb}


join a multicast group on a particular interface 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ia}]is the multicast address to use \item[{\em Interface\-Index}]is the index value returned by get\-Interface\-Index \end{description}
\end{Desc}
\begin{Desc}
\item[{\bf Todo}]Win32 and ipv6 specific implementation. \end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!peek@{peek}}
\index{peek@{peek}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ssize\_\-t ost::UDPSocket::peek (void $\ast$ {\em buf}, size\_\-t {\em len})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_d_p_socket_64b09e6ac9325d8f44d7ca7ed59215bf}


Examine contents of next waiting packet. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]pointer to packet buffer for contents. \item[{\em len}]of packet buffer. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]number of bytes examined. \end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!receive@{receive}}
\index{receive@{receive}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ssize\_\-t ost::UDPSocket::receive (void $\ast$ {\em buf}, size\_\-t {\em len}, bool {\em reply} = {\tt false})}\label{classost_1_1_u_d_p_socket_3f5c684f2fc3d1b65a1a5e2966f5b292}


Receive a message from any host. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]pointer to packet buffer to receive. \item[{\em len}]of packet buffer to receive. \item[{\em reply}]save sender address for reply if true. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]number of bytes received. \end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!send@{send}}
\index{send@{send}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ssize\_\-t ost::UDPSocket::send (const void $\ast$ {\em buf}, size\_\-t {\em len})}\label{classost_1_1_u_d_p_socket_4d58bb8e7a0ea0112da563bfd2eaa947}


Send a message packet to a peer host. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]pointer to packet buffer to send. \item[{\em len}]of packet buffer to send. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]number of bytes sent. \end{Desc}


Reimplemented in {\bf ost::UDPTransmit} {\rm (p.\,\pageref{classost_1_1_u_d_p_transmit_c20e40569ec5502849fa3337dcfdf611})}.\index{ost::UDPSocket@{ost::UDPSocket}!setLoopback@{setLoopback}}
\index{setLoopback@{setLoopback}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::UDPSocket::set\-Loopback (bool {\em enable})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_d_p_socket_fbf86c658fcf48b0ba946a238df091d3}


Set the loopback. 

\index{ost::UDPSocket@{ost::UDPSocket}!setMulticast@{setMulticast}}
\index{setMulticast@{setMulticast}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::UDPSocket::set\-Multicast (bool {\em enable})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_d_p_socket_ce98f5833ad9834af24e78697699c912}


Set the multicast. 



Reimplemented in {\bf ost::UDPTransmit} {\rm (p.\,\pageref{classost_1_1_u_d_p_transmit_4e5c8fb7c2ea5f78454d303169d68b61})}, and {\bf ost::UDPReceive} {\rm (p.\,\pageref{classost_1_1_u_d_p_receive_a513f9513f012494e0fbd61d84c665f6})}.\index{ost::UDPSocket@{ost::UDPSocket}!setPeer@{setPeer}}
\index{setPeer@{setPeer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::set\-Peer (const char $\ast$ {\em service})}\label{classost_1_1_u_d_p_socket_1bef3ed88eb3852679642510864b419c}


Associate socket with a named connection. 

\index{ost::UDPSocket@{ost::UDPSocket}!setPeer@{setPeer}}
\index{setPeer@{setPeer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::set\-Peer (const {\bf IPV6Host} \& {\em host}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_943d73dd40035a5d675a9d4a7e102725}


\index{ost::UDPSocket@{ost::UDPSocket}!setPeer@{setPeer}}
\index{setPeer@{setPeer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::UDPSocket::set\-Peer (const {\bf IPV4Host} \& {\em host}, {\bf tpport\_\-t} {\em port})}\label{classost_1_1_u_d_p_socket_0a1aed4af396b54c42d5a616688b1426}


set the peer address to send message packets to. 

This can be set before every {\bf send()}{\rm (p.\,\pageref{classost_1_1_u_d_p_socket_4d58bb8e7a0ea0112da563bfd2eaa947})} call if nessisary.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em host}]address to send packets to. \item[{\em port}]number to deliver packets to. \end{description}
\end{Desc}
\index{ost::UDPSocket@{ost::UDPSocket}!setTimeToLive@{setTimeToLive}}
\index{setTimeToLive@{setTimeToLive}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Error} ost::UDPSocket::set\-Time\-To\-Live (char {\em ttl})\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_u_d_p_socket_d3cf52efd8d79b40796d67b59285d2cf}


Set time to live. 



\subsection{Member Data Documentation}
\index{ost::UDPSocket@{ost::UDPSocket}!family@{family}}
\index{family@{family}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Family} {\bf ost::UDPSocket::family}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_d_p_socket_fe9f40091dc6c57c6743cf0720ab5938}


\index{ost::UDPSocket@{ost::UDPSocket}!ipv4@{ipv4}}
\index{ipv4@{ipv4}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct sockaddr\_\-in {\bf ost::UDPSocket::ipv4}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_d_p_socket_d4c15c1eb5dd4f0ce6d4487b43869215}


\index{ost::UDPSocket@{ost::UDPSocket}!ipv6@{ipv6}}
\index{ipv6@{ipv6}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct sockaddr\_\-in6 {\bf ost::UDPSocket::ipv6}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_d_p_socket_9842db7ec82d337e554d264e7230a705}


\index{ost::UDPSocket@{ost::UDPSocket}!peer@{peer}}
\index{peer@{peer}!ost::UDPSocket@{ost::UDPSocket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}union \{ ... \} 	 {\bf ost::UDPSocket::peer}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_u_d_p_socket_4195fc28fdeba6a8eea55c1f9b0d5e96}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf socket.h}\end{CompactItemize}