\section{KNetwork::KMulticast\-Socket Class Reference}
\label{classKNetwork_1_1KMulticastSocket}\index{KNetwork::KMulticastSocket@{KNetwork::KMulticastSocket}}
A multicast-capable datagram socket class.  


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

Inheritance diagram for KNetwork::KMulticast\-Socket:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=150pt]{classKNetwork_1_1KMulticastSocket__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for KNetwork::KMulticast\-Socket:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=150pt]{classKNetwork_1_1KMulticastSocket__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf KMulticast\-Socket} ({\bf QObject} $\ast${\bf parent}=0L, const char $\ast${\bf name}=0L)
\item 
{\bf $\sim$KMulticast\-Socket} ()
\item 
{\bf KMulticast\-Socket\-Impl} $\ast$ {\bf multicast\-Socket\-Device} ()
\item 
const {\bf KMulticast\-Socket\-Impl} $\ast$ {\bf multicast\-Socket\-Device} () const 
\item 
virtual bool {\bf join\-Group} (const {\bf KSocket\-Address} \&group)
\item 
virtual bool {\bf join\-Group} (const {\bf KSocket\-Address} \&group, const {\bf KNetwork\-Interface} \&iface)
\item 
virtual bool {\bf leave\-Group} (const {\bf KSocket\-Address} \&group)
\item 
virtual bool {\bf leave\-Group} (const {\bf KSocket\-Address} \&group, const {\bf KNetwork\-Interface} \&iface)
\end{CompactItemize}


\subsection{Detailed Description}
A multicast-capable datagram socket class. 

This class derives from {\bf KDatagram\-Socket}{\rm (p.\,\pageref{classKNetwork_1_1KDatagramSocket})} adding methods to it to allow better control over the multicast functionality. In special, the join and leave group functions are added.

Other more low-level options on multicast sockets can be accessed directly with the {\bf KMulticast\-Socket\-Impl}{\rm (p.\,\pageref{classKNetwork_1_1KMulticastSocketImpl})} class returned by {\bf multicast\-Socket\-Device}{\rm (p.\,\pageref{classKNetwork_1_1KMulticastSocket_a2})}.

\begin{Desc}
\item[Author:]Thiago Macieira $<${\tt thiago.macieira@kdemail.net}$>$ \end{Desc}




Definition at line 48 of file kmulticastsocket.h.

\subsection{Constructor \& Destructor Documentation}
\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!KMulticastSocket@{KMulticastSocket}}
\index{KMulticastSocket@{KMulticastSocket}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}KNetwork::KMulticast\-Socket::KMulticast\-Socket ({\bf QObject} $\ast$ {\em parent} = {\tt 0L}, const char $\ast$ {\em name} = {\tt 0L})}\label{classKNetwork_1_1KMulticastSocket_a0}


Constructor. 

\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!~KMulticastSocket@{$\sim$KMulticastSocket}}
\index{~KMulticastSocket@{$\sim$KMulticastSocket}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}KNetwork::KMulticast\-Socket::$\sim${\bf KMulticast\-Socket} ()}\label{classKNetwork_1_1KMulticastSocket_a1}


Destructor. 



\subsection{Member Function Documentation}
\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!multicastSocketDevice@{multicastSocketDevice}}
\index{multicastSocketDevice@{multicastSocketDevice}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KMulticast\-Socket\-Impl}$\ast$ KNetwork::KMulticast\-Socket::multicast\-Socket\-Device ()}\label{classKNetwork_1_1KMulticastSocket_a2}


Returns the multicast socket device in use by this object. 

\begin{Desc}
\item[Note:]The returned object can be null. \end{Desc}
\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!multicastSocketDevice@{multicastSocketDevice}}
\index{multicastSocketDevice@{multicastSocketDevice}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf KMulticast\-Socket\-Impl}$\ast$ KNetwork::KMulticast\-Socket::multicast\-Socket\-Device () const}\label{classKNetwork_1_1KMulticastSocket_a3}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!joinGroup@{joinGroup}}
\index{joinGroup@{joinGroup}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool KNetwork::KMulticast\-Socket::join\-Group (const {\bf KSocket\-Address} \& {\em group})\hspace{0.3cm}{\tt  [virtual]}}\label{classKNetwork_1_1KMulticastSocket_a4}


Joins a multicast group. 

The group to be joined is identified by the {\tt group} parameter.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em group}]the multicast group to join \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true on success \end{Desc}
\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!joinGroup@{joinGroup}}
\index{joinGroup@{joinGroup}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool KNetwork::KMulticast\-Socket::join\-Group (const {\bf KSocket\-Address} \& {\em group}, const {\bf KNetwork\-Interface} \& {\em iface})\hspace{0.3cm}{\tt  [virtual]}}\label{classKNetwork_1_1KMulticastSocket_a5}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Joins a multicast group. This function also specifies the network interface to be used. \index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!leaveGroup@{leaveGroup}}
\index{leaveGroup@{leaveGroup}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool KNetwork::KMulticast\-Socket::leave\-Group (const {\bf KSocket\-Address} \& {\em group})\hspace{0.3cm}{\tt  [virtual]}}\label{classKNetwork_1_1KMulticastSocket_a6}


Leaves a multicast group. 

The group being left is given by its address in the {\tt group} parameter.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em group}]the group to leave \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true on successful leaving the group \end{Desc}
\index{KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}!leaveGroup@{leaveGroup}}
\index{leaveGroup@{leaveGroup}!KNetwork::KMulticastSocket@{KNetwork::KMulticast\-Socket}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool KNetwork::KMulticast\-Socket::leave\-Group (const {\bf KSocket\-Address} \& {\em group}, const {\bf KNetwork\-Interface} \& {\em iface})\hspace{0.3cm}{\tt  [virtual]}}\label{classKNetwork_1_1KMulticastSocket_a7}


This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Leaves a multicast group. 

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