tcpserver__select_8c.html
来自「一个收集所有最基本功能的函数库;所有的函数都是尽量短小和简单 使用 doxyge」· HTML 代码 · 共 152 行
HTML
152 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>libkf701: /home/kf701/work/libkf701/lib/tcpserver_select.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div><h1>/home/kf701/work/libkf701/lib/tcpserver_select.c File Reference</h1><code>#include <sys/types.h></code><br><code>#include <sys/socket.h></code><br><code>#include <netdb.h></code><br><code>#include <netinet/in.h></code><br><code>#include <arpa/inet.h></code><br><code>#include "<a class="el" href="kf701_8h.html">kf701.h</a>"</code><br><p>Include dependency graph for tcpserver_select.c:<p><center><img src="tcpserver__select_8c__incl.png" border="0" usemap="#/home/kf701/work/libkf701/lib/tcpserver_select.c_map" alt=""></center><map name="/home/kf701/work/libkf701/lib/tcpserver_select.c_map"><area href="kf701_8h.html" shape="rect" coords="423,248,495,272" alt=""></map><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcpserver__select_8c.html#b8ba2d8f79af5ca38005742bbc29a927">MAX_CLIENT</a> 1000</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="tcpserver__select_8c.html#526d7e921c63c64af4eebee4cd08ab7f">tcp_server_select</a> (uint16_t port, uint32_t psize, <a class="el" href="kf701_8h.html#21acec825c76f8df53e40b68b1e6e276">tcp_data_func</a> func)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TCP server use select. <a href="#526d7e921c63c64af4eebee4cd08ab7f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="tcpserver__select_8c.html#646574d3296606f0feed17ded9d9ffd1">tcp_server_select_2</a> (uint16_t port, <a class="el" href="kf701_8h.html#9029fc44ed3a3032021d91d96ce49191">tcp_fd_func</a> func)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TCP server use select. <a href="#646574d3296606f0feed17ded9d9ffd1"></a><br></td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="b8ba2d8f79af5ca38005742bbc29a927"></a><!-- doxytag: member="tcpserver_select.c::MAX_CLIENT" ref="b8ba2d8f79af5ca38005742bbc29a927" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAX_CLIENT 1000 </td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="526d7e921c63c64af4eebee4cd08ab7f"></a><!-- doxytag: member="tcpserver_select.c::tcp_server_select" ref="526d7e921c63c64af4eebee4cd08ab7f" args="(uint16_t port, uint32_t psize, tcp_data_func func)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void tcp_server_select </td> <td>(</td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>port</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>psize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="kf701_8h.html#21acec825c76f8df53e40b68b1e6e276">tcp_data_func</a> </td> <td class="paramname"> <em>func</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>TCP server use select. <p>Open a listen socket,accept and read data, then deleve data to FUNC, the user defined FUNC deal with data.<p>Note: dup buf before create thread in FUNC<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>listen port </td></tr> <tr><td valign="top"></td><td valign="top"><em>psize</em> </td><td>the TCP server will read MAX size data from a new accepted socket </td></tr> <tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>user defined FUNC for deal with data</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>void </dd></dl></div></div><p><a class="anchor" name="646574d3296606f0feed17ded9d9ffd1"></a><!-- doxytag: member="tcpserver_select.c::tcp_server_select_2" ref="646574d3296606f0feed17ded9d9ffd1" args="(uint16_t port, tcp_fd_func func)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void tcp_server_select_2 </td> <td>(</td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>port</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="kf701_8h.html#9029fc44ed3a3032021d91d96ce49191">tcp_fd_func</a> </td> <td class="paramname"> <em>func</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>TCP server use select. <p>Note: different with <a class="el" href="kf701_8h.html#526d7e921c63c64af4eebee4cd08ab7f">tcp_server_select()</a>,the routine never select accepted socket fd or read data from them<p>Every new accepted socket used in FUNC and will be closed in FUNC and subfunc Best idea is creating a thread in FUNC<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>listen port </td></tr> <tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>deal with socket fd </td></tr> </table></dl></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Thu Jun 7 15:05:19 2007 for libkf701 by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?