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

📄 gnet-tcp.html

📁 GNet是一个简单的网络库。它是目标定向的
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<HTML><HEAD><TITLE>tcp</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="inetaddr"HREF="gnet-inetaddr.html"><LINKREL="NEXT"TITLE="unix"HREF="gnet-unix.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-inetaddr.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-unix.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page &#62;&#62;&#62;</B></FONT></A></TD></TR></TABLE></DIV><H1><ANAME="GNET-TCP"></A>tcp</H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN1003"></A><H2>Name</H2>tcp&nbsp;--&nbsp;</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN1006"></A><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS">&#13;struct      <AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>;typedef     <AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCID">GTcpSocketConnectAsyncID</A>;enum        <AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCSTATUS">GTcpSocketConnectAsyncStatus</A>;void        (<AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCFUNC">*GTcpSocketConnectAsyncFunc</A>)   (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia,                                             <AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCSTATUS">GTcpSocketConnectAsyncStatus</A> status,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);typedef     <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCID">GTcpSocketNewAsyncID</A>;enum        <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCSTATUS">GTcpSocketNewAsyncStatus</A>;void        (<AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCFUNC">*GTcpSocketNewAsyncFunc</A>)       (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCSTATUS">GTcpSocketNewAsyncStatus</A> status,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT">gnet_tcp_socket_connect</A>         (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *hostname,                                             <GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port);<AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCID">GTcpSocketConnectAsyncID</A> <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC">gnet_tcp_socket_connect_async</A>                                            (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *hostname,                                             <GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port,                                             <AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCFUNC">GTcpSocketConnectAsyncFunc</A> func,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC-CANCEL">gnet_tcp_socket_connect_async_cancel</A>                                            (<AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCID">GTcpSocketConnectAsyncID</A> async_id);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW">gnet_tcp_socket_new</A>             (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *addr);<AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCID">GTcpSocketNewAsyncID</A> <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC">gnet_tcp_socket_new_async</A>                                            (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *addr,                                             <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCFUNC">GTcpSocketNewAsyncFunc</A> func,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC-CANCEL">gnet_tcp_socket_new_async_cancel</A>                                            (<AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCID">GTcpSocketNewAsyncID</A> async_id);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-DELETE">gnet_tcp_socket_delete</A>          (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *s);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-REF">gnet_tcp_socket_ref</A>             (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *s);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-UNREF">gnet_tcp_socket_unref</A>           (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *s);<GTKDOCLINKHREF="GIOCHANNEL">GIOChannel</GTKDOCLINK>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-GET-IOCHANNEL">gnet_tcp_socket_get_iochannel</A>   (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);<AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A>*  <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-GET-INETADDR">gnet_tcp_socket_get_inetaddr</A>    (const <AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK>        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-GET-PORT">gnet_tcp_socket_get_port</A>        (const <AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);enum        <AHREF="gnet-tcp.html#GNETTOS">GNetTOS</A>;void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SET-TOS">gnet_tcp_socket_set_tos</A>         (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-tcp.html#GNETTOS">GNetTOS</A> tos);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-NEW">gnet_tcp_socket_server_new</A>      (<GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> port);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-NEW-INTERFACE">gnet_tcp_socket_server_new_interface</A>                                            (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *iface);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-ACCEPT">gnet_tcp_socket_server_accept</A>   (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-ACCEPT-NONBLOCK">gnet_tcp_socket_server_accept_nonblock</A>                                            (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);void        (<AHREF="gnet-tcp.html#GTCPSOCKETACCEPTFUNC">*GTcpSocketAcceptFunc</A>)         (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *server,                                             <AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *client,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-ACCEPT-ASYNC">gnet_tcp_socket_server_accept_async</A>                                            (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-tcp.html#GTCPSOCKETACCEPTFUNC">GTcpSocketAcceptFunc</A> accept_func,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> user_data);void        <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-SERVER-ACCEPT-ASYNC-CANCEL">gnet_tcp_socket_server_accept_async_cancel</A>                                            (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket);<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A>* <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-DIRECT">gnet_tcp_socket_new_direct</A>      (const <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *addr);<AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCID">GTcpSocketNewAsyncID</A> <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC-DIRECT">gnet_tcp_socket_new_async_direct</A>                                            (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></DIV><DIVCLASS="REFSECT1"><ANAME="AEN1094"></A><H2>Description</H2><P></P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN1097"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN1099"></A><H3><ANAME="GTCPSOCKET"></A>struct GTcpSocket</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GTcpSocket;</PRE></TD></TR></TABLE><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1104"></A><H3><ANAME="GTCPSOCKETCONNECTASYNCID"></A>GTcpSocketConnectAsyncID</H3><P>ID of an asynchronous connection started with  <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC">gnet_tcp_socket_connect_async</A>().  The connection can be canceled  by calling <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC-CANCEL">gnet_tcp_socket_connect_async_cancel</A>() with the ID.</P><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1111"></A><H3><ANAME="GTCPSOCKETCONNECTASYNCSTATUS"></A>enum GTcpSocketConnectAsyncStatus</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">typedef enum {  GTCP_SOCKET_CONNECT_ASYNC_STATUS_OK,  GTCP_SOCKET_CONNECT_ASYNC_STATUS_INETADDR_ERROR,  GTCP_SOCKET_CONNECT_ASYNC_STATUS_TCP_ERROR} GTcpSocketConnectAsyncStatus;</PRE></TD></TR></TABLE><P>Status for connecting via <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC">gnet_tcp_socket_connect_async</A>(), passed  by GTcpSocketConnectAsyncFunc.  More errors may be added in the  future, so it's best to compare against  <TTCLASS="LITERAL">GTCP_SOCKET_CONNECT_ASYNC_STATUS_OK</TT>.</P><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1119"></A><H3><ANAME="GTCPSOCKETCONNECTASYNCFUNC"></A>GTcpSocketConnectAsyncFunc ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void        (*GTcpSocketConnectAsyncFunc)   (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-inetaddr.html#GINETADDR">GInetAddr</A> *ia,                                             <AHREF="gnet-tcp.html#GTCPSOCKETCONNECTASYNCSTATUS">GTcpSocketConnectAsyncStatus</A> status,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Callback for <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-CONNECT-ASYNC">gnet_tcp_socket_connect_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="AEN1131"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1136"><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="AEN1141"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>status</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN1146"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>data</I></TT>&nbsp;:</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P>&#13;</P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1151"></A><H3><ANAME="GTCPSOCKETNEWASYNCID"></A>GTcpSocketNewAsyncID</H3><P>ID of an asynchronous tcp socket creation started with  <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC">gnet_tcp_socket_new_async</A>().  The creation can be canceled by  calling <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC-CANCEL">gnet_tcp_socket_new_async_cancel</A>() with the ID.</P><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1158"></A><H3><ANAME="GTCPSOCKETNEWASYNCSTATUS"></A>enum GTcpSocketNewAsyncStatus</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">typedef enum {  GTCP_SOCKET_NEW_ASYNC_STATUS_OK,  GTCP_SOCKET_NEW_ASYNC_STATUS_ERROR} GTcpSocketNewAsyncStatus;</PRE></TD></TR></TABLE><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1163"></A><H3><ANAME="GTCPSOCKETNEWASYNCFUNC"></A>GTcpSocketNewAsyncFunc ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void        (*GTcpSocketNewAsyncFunc)       (<AHREF="gnet-tcp.html#GTCPSOCKET">GTcpSocket</A> *socket,                                             <AHREF="gnet-tcp.html#GTCPSOCKETNEWASYNCSTATUS">GTcpSocketNewAsyncStatus</A> status,                                             <GTKDOCLINKHREF="GPOINTER">gpointer</GTKDOCLINK> data);</PRE></TD></TR></TABLE><P>Callback for <AHREF="gnet-tcp.html#GNET-TCP-SOCKET-NEW-ASYNC">gnet_tcp_socket_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="AEN1174"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>socket</I></TT>&nbsp;:</SPAN></TD

⌨️ 快捷键说明

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