⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gnet-mcast.html

📁 GNet是一个简单的网络库。它是目标定向的
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><TITLE>mcast</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINKREL="HOME"TITLE="GNet Network Library Reference Manual"HREF="book1.html"><LINKREL="UP"TITLE="GNet Library Reference"HREF="libgnet-reference.html"><LINKREL="PREVIOUS"TITLE="udp"HREF="gnet-udp.html"><LINKREL="NEXT"TITLE="iochannel"HREF="gnet-iochannel.html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><THCOLSPAN="4"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="5">GNet Network Library Reference Manual</FONT></TH></TR><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="gnet-udp.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>&#60;&#60;&#60; Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="book1.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="libgnet-reference.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"><AHREF="gnet-iochannel.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page &#62;&#62;&#62;</B></FONT></A></TD></TR></TABLE></DIV><H1><ANAME="GNET-MCAST"></A>mcast</H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN2429"></A><H2>Name</H2>mcast&nbsp;--&nbsp;</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN2432"></A><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS">&#13;struct      <AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>;<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-NEW">gnet_mcast_socket_new</A>         (void);<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-PORT-NEW">gnet_mcast_socket_port_new</A>    (<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port);<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-INETADDR-NEW">gnet_mcast_socket_inetaddr_new</A>                                            (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);void        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-DELETE">gnet_mcast_socket_delete</A>        (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms);void        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-REF">gnet_mcast_socket_ref</A>           (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *s);void        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-UNREF">gnet_mcast_socket_unref</A>         (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *s);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-JOIN-GROUP">gnet_mcast_socket_join_group</A>    (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-LEAVE-GROUP">gnet_mcast_socket_leave_group</A>   (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-SEND">gnet_mcast_socket_send</A>          (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             const <AHREF="gnet-udp.html#GUDPPACKET">GUdpPacket</A> *packet);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-RECEIVE">gnet_mcast_socket_receive</A>       (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             <AHREF="gnet-udp.html#GUDPPACKET">GUdpPacket</A> *packet);<GTKDOCLINKHREF="GBOOLEAN">gboolean</GTKDOCLINK>    <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-HAS-PACKET">gnet_mcast_socket_has_packet</A>    (const <AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *s);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-IS-LOOPBACK">gnet_mcast_socket_is_loopback</A>   (const <AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-SET-LOOPBACK">gnet_mcast_socket_set_loopback</A>  (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             <GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> b);#define     <AHREF="gnet-mcast.html#GNET-MCAST-SOCKET-TO-UDP-SOCKET">gnet_mcast_socket_to_udp_socket</A> (MS)</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN2477"></A><H2>Description</H2><P></P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN2480"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN2482"></A><H3><ANAME="GMCASTSOCKET"></A>struct GMcastSocket</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GMcastSocket;</PRE></TD></TR></TABLE><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2487"></A><H3><ANAME="GNET-MCAST-SOCKET-NEW"></A>gnet_mcast_socket_new ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* gnet_mcast_socket_new         (void);</PRE></TD></TR></TABLE><P>Create a new multicast socket with any available port.  Use this constructor when you are creating a new group and the port number doesn't matter.  If you want to receive packets from the group, you will have to join it next.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2495"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2500"></A><H3><ANAME="GNET-MCAST-SOCKET-PORT-NEW"></A>gnet_mcast_socket_port_new ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* gnet_mcast_socket_port_new    (<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port);</PRE></TD></TR></TABLE><P>Create a new multicast socket with the given port.  If you know the port of the group you will join, use this constructor.  If you want to receive packets from the group, you will have to join it, using the full address, next.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2509"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>port</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2514"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2519"></A><H3><ANAME="GNET-MCAST-SOCKET-INETADDR-NEW"></A>gnet_mcast_socket_inetaddr_new ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>* gnet_mcast_socket_inetaddr_new                                            (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Create a new multicast socket with the <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A>.  If you know the <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> of the group you will join, use this constructor. If you want to receive packets from the group, you will have to join it next.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2530"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2535"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2540"></A><H3><ANAME="GNET-MCAST-SOCKET-DELETE"></A>gnet_mcast_socket_delete ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void        gnet_mcast_socket_delete        (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms);</PRE></TD></TR></TABLE><P>Close and delete a multicast socket.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2548"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ms</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2553"></A><H3><ANAME="GNET-MCAST-SOCKET-REF"></A>gnet_mcast_socket_ref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void        gnet_mcast_socket_ref           (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *s);</PRE></TD></TR></TABLE><P>Increment the reference counter of the <AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2562"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>s</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2567"></A><H3><ANAME="GNET-MCAST-SOCKET-UNREF"></A>gnet_mcast_socket_unref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void        gnet_mcast_socket_unref         (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *s);</PRE></TD></TR></TABLE><P>Remove a reference from the <AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A>.  When reference count reaches 0, the socket is deleted.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2576"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>s</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN2581"></A><H3><ANAME="GNET-MCAST-SOCKET-JOIN-GROUP"></A>gnet_mcast_socket_join_group ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        gnet_mcast_socket_join_group    (<AHREF="gnet-mcast.html#GMCASTSOCKET">GMcastSocket</A> *ms,                                             const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Join the multicast group using the multicast socket.  You should only join one group per socket.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN2591"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ms</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -