📄 gnet-tcp.html
字号:
></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1520"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1525"><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="AEN1530"></A><H3><ANAME="GNET-TCP-SOCKET-SERVER-ACCEPT-NONBLOCK"></A>gnet_tcp_socket_server_accept_nonblock ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* gnet_tcp_socket_server_accept_nonblock (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);</PRE></TD></TR></TABLE><P>Accept a connection from the socket without blocking. The socket must have been created using <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-NEW">gnet_tcp_socket_server_new</A>(). This function is best used with the socket's <GTKDOCLINKHREF="GIOCHANNEL">GIOChannel</GTKDOCLINK>. If the channel is readable, then you PROBABLY have a connection. It is possible for the connection to close by the time you call this, so it may return NULL even if the channel was readable.</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="AEN1541"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1546"><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="AEN1551"></A><H3><ANAME="GTCPSOCKETACCEPTFUNC"></A>GTcpSocketAcceptFunc ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void (*GTcpSocketAcceptFunc) (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *server, <AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *client, <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Callback for <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-ACCEPT-ASYNC">gnet_tcp_socket_server_accept_async</A>(). The socket had an irrecoverable error if client_socket is 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="AEN1562"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>server</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1567"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>client</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1572"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>data</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1577"></A><H3><ANAME="GNET-TCP-SOCKET-SERVER-ACCEPT-ASYNC"></A>gnet_tcp_socket_server_accept_async ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_tcp_socket_server_accept_async (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket, <AHREF="gnet-tcp.html#GTCPSOCKETACCEPTFUNC">GTcpSocketAcceptFunc</A> accept_func, <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> user_data);</PRE></TD></TR></TABLE><P>Accept a connection from the socket asynchronously. The callback is called when a client has connection or the socket has an error.</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="AEN1587"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1592"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>accept_func</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1597"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>user_data</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1602"></A><H3><ANAME="GNET-TCP-SOCKET-SERVER-ACCEPT-ASYNC-CANCEL"></A>gnet_tcp_socket_server_accept_async_cancel ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gnet_tcp_socket_server_accept_async_cancel (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);</PRE></TD></TR></TABLE><P>Stops accepting connections asynchronously from the socket. This does not close the 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="AEN1610"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1615"></A><H3><ANAME="GNET-TCP-SOCKET-NEW-DIRECT"></A>gnet_tcp_socket_new_direct ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* gnet_tcp_socket_new_direct (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *addr);</PRE></TD></TR></TABLE><P>Connect directly to a specified address and do not use SOCKS even if SOCKS is enabled. Most users should use <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW">gnet_tcp_socket_new</A>(). This is used internally to implement SOCKS.</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="AEN1625"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>addr</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1630"><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="AEN1635"></A><H3><ANAME="GNET-TCP-SOCKET-NEW-ASYNC-DIRECT"></A>gnet_tcp_socket_new_async_direct ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCID">GTcpSocketNewAsyncID</A> gnet_tcp_socket_new_async_direct (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *addr, <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCFUNC">GTcpSocketNewAsyncFunc</A> func, <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Connect directly to a specified address asynchronously and do not use SOCKS even if SOCKS is enabled. Most users should use <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC">gnet_tcp_socket_new_async</A>(). This is used internally to implement SOCKS.</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="AEN1647"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>addr</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1652"><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="AEN1657"><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="AEN1662"><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></DIV><DIVCLASS="NAVFOOTER"><BRCLEAR="all"><BR><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="gnet-inetaddr.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< 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-unix.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page >>></B></FONT></A></TD></TR><TR><TDCOLSPAN="2"ALIGN="left"><FONTCOLOR="#FFFFFF"SIZE="3"><B>inetaddr</B></FONT></TD><TDCOLSPAN="2"ALIGN="right"><FONTCOLOR="#FFFFFF"SIZE="3"><B>unix</B></FONT></TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -