📄 gnet-inetaddr.html
字号:
VALIGN="TOP"WIDTH="20%"><ANAME="AEN376"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN381"></A><H3><ANAME="GNET-INETADDR-NEW-ASYNC"></A>gnet_inetaddr_new_async ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-inetaddr.html#GINETADDRNEWASYNCID">GInetAddrNewAsyncID</A> gnet_inetaddr_new_async (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *name, <GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port, <AHREF="gnet-inetaddr.html#GINETADDRNEWASYNCFUNC">GInetAddrNewAsyncFunc</A> func, <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Create a GInetAddr from a name and port asynchronously. The callback is called once the structure is created or an error occurs during lookup. The callback will not be called during the call to <AHREF="gnet-inetaddr.html#GNET-INETADDR-NEW-ASYNC">gnet_inetaddr_new_async</A>().</P><P> The Unix version creates a pthread thread which does the lookup. If pthreads aren't available, it forks and does the lookup. Forking will be slow or even fail when using operating systems that copy the entire process when forking. </P><P> If you need to lookup hundreds of addresses, we recommend calling g_main_iteration(FALSE) between calls. This will help prevent an explosion of threads or processes.</P><P> If you need a more robust library for Unix, look at <ulink url="http://www.gnu.org/software/adns/adns.html">GNU ADNS</ulink>. GNU ADNS is under the GNU GPL. This library does not use threads or processes.</P><P> The Windows version should work fine. Windows has an asynchronous DNS lookup function.</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="AEN398"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>name</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN403"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>port</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN408"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>func</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN413"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>data</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN418"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN423"></A><H3><ANAME="GNET-INETADDR-NEW-ASYNC-CANCEL"></A>gnet_inetaddr_new_async_cancel ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_inetaddr_new_async_cancel (<AHREF="gnet-inetaddr.html#GINETADDRNEWASYNCID">GInetAddrNewAsyncID</A> async_id);</PRE></TD></TR></TABLE><P>Cancel an asynchronous GInetAddr creation that was started with <AHREF="gnet-inetaddr.html#GNET-INETADDR-NEW-ASYNC">gnet_inetaddr_new_async</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="AEN432"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>async_id</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN437"></A><H3><ANAME="GNET-INETADDR-NEW-NONBLOCK"></A>gnet_inetaddr_new_nonblock ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A>* gnet_inetaddr_new_nonblock (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *name, <GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port);</PRE></TD></TR></TABLE><P>Create an internet address from a name and port, but don't block and fail if it would require blocking. This is, if the name is a canonical name or "localhost", it returns the address. Otherwise, it returns NULL.</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="AEN447"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>name</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN452"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>port</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN457"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN462"></A><H3><ANAME="GNET-INETADDR-CLONE"></A>gnet_inetaddr_clone ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A>* gnet_inetaddr_clone (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Create an internet address from another one.</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="AEN471"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN476"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN481"></A><H3><ANAME="GNET-INETADDR-DELETE"></A>gnet_inetaddr_delete ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_inetaddr_delete (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Delete a GInetAddr.</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="AEN489"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN494"></A><H3><ANAME="GNET-INETADDR-REF"></A>gnet_inetaddr_ref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_inetaddr_ref (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Increment the reference counter of the GInetAddr.</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="AEN502"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN507"></A><H3><ANAME="GNET-INETADDR-UNREF"></A>gnet_inetaddr_unref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_inetaddr_unref (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Remove a reference from the GInetAddr. When reference count reaches 0, the address 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="AEN515"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN520"></A><H3><ANAME="GNET-INETADDR-GET-NAME"></A>gnet_inetaddr_get_name ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK>* gnet_inetaddr_get_name (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Get the nice name of the address (eg, "mofo.eecs.umich.edu"). The "nice name" is the domain name if it has one or the canonical name if it does not. Be warned that this call may block since it may need to do a reverse DNS lookup.</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="AEN529"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN534"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN539"></A><H3><ANAME="GNET-INETADDR-GET-NAME-NONBLOCK"></A>gnet_inetaddr_get_name_nonblock ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK>* gnet_inetaddr_get_name_nonblock (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia);</PRE></TD></TR></TABLE><P>Get the nice name of the address, but don't block and fail if it would require blocking.</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="AEN548"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN553"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN558"></A><H3><ANAME="GNET-INETADDR-GET-NAME-ASYNC"></A>gnet_inetaddr_get_name_async ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-inetaddr.html#GINETADDRGETNAMEASYNCID">GInetAddrGetNameAsyncID</A> gnet_inetaddr_get_name_async (<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia, <AHREF="gnet-inetaddr.html#GINETADDRGETNAMEASYNCFUNC">GInetAddrGetNameAsyncFunc</A> func, <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Get the nice name of the address (eg, "mofo.eecs.umich.edu"). This function will use the callback once it knows the nice name. The callback will not be called during the call to <AHREF="gnet-inetaddr.html#GNET-INETADDR-NEW-ASYNC">gnet_inetaddr_new_async</A>().</P><P> The Unix uses either pthreads or <GTKDOCLINKHREF="FORK">fork</GTKDOCLINK>(). See the notes for <AHREF="gnet-inetaddr.html#GNET-INETADDR-NEW-ASYNC">gnet_inetaddr_new_async</A>().</P><P> FIX: In the next big version, this should copy ia.</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="AEN574"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>ia</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN579"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>func</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN584"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>data</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN589"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -