Files
dl/document/html/classdl_1_1_server.html
2026-09-16 14:07:40 +08:00

387 lines
20 KiB
HTML
Vendored

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>dl: dl::Server类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">dl
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','搜索',false);
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacedl.html">dl</a></li><li class="navelem"><a class="el" href="classdl_1_1_server.html">Server</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="classdl_1_1_server-members.html">所有成员列表</a> </div>
<div class="headertitle"><div class="title">dl::Server类 参考</div></div>
</div><!--header-->
<div class="contents">
<p>TCP服务器
<a href="#details">更多...</a></p>
<p><code>#include &lt;<a class="el" href="dl__net_8h_source.html">dl_net.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a572a4908be95e5d78ec0d0cfb5bdd168" id="r_a572a4908be95e5d78ec0d0cfb5bdd168"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a572a4908be95e5d78ec0d0cfb5bdd168">CbDisconnect</a> = std::function&lt;void(int)&gt;</td></tr>
<tr class="memdesc:a572a4908be95e5d78ec0d0cfb5bdd168"><td class="mdescLeft">&#160;</td><td class="mdescRight">断线回调 <br /></td></tr>
<tr class="separator:a572a4908be95e5d78ec0d0cfb5bdd168"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a994ecaed74e2839873b615c13916b242" id="r_a994ecaed74e2839873b615c13916b242"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a994ecaed74e2839873b615c13916b242">Accept</a> (uint16_t port)</td></tr>
<tr class="separator:a994ecaed74e2839873b615c13916b242"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33caeb7456ac8649ebf09d1d5e202d9a" id="r_a33caeb7456ac8649ebf09d1d5e202d9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a33caeb7456ac8649ebf09d1d5e202d9a">Run</a> ()</td></tr>
<tr class="separator:a33caeb7456ac8649ebf09d1d5e202d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa6aa6578a2a292d8c33a31c5b8521f1" id="r_afa6aa6578a2a292d8c33a31c5b8521f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa6aa6578a2a292d8c33a31c5b8521f1">SetCbDisconnect</a> (<a class="el" href="#a572a4908be95e5d78ec0d0cfb5bdd168">CbDisconnect</a> func)</td></tr>
<tr class="memdesc:afa6aa6578a2a292d8c33a31c5b8521f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置断线回调 <br /></td></tr>
<tr class="separator:afa6aa6578a2a292d8c33a31c5b8521f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61802a86c9e05dfce3526b83e1030b62" id="r_a61802a86c9e05dfce3526b83e1030b62"><td class="memTemplParams" colspan="2">template&lt;IsEnum E, IsPod T&gt; </td></tr>
<tr class="memitem:a61802a86c9e05dfce3526b83e1030b62"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a61802a86c9e05dfce3526b83e1030b62">Send</a> (int sokect_id, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a3a3ea00cfc35332cedf6e5e9a32e94da">E</a> msg_id, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;a)</td></tr>
<tr class="separator:a61802a86c9e05dfce3526b83e1030b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61802a86c9e05dfce3526b83e1030b62" id="r_a61802a86c9e05dfce3526b83e1030b62"><td class="memTemplParams" colspan="2">template&lt;IsEnum E, IsNotPod T&gt; </td></tr>
<tr class="memitem:a61802a86c9e05dfce3526b83e1030b62"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a61802a86c9e05dfce3526b83e1030b62">Send</a> (int sokect_id, <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a3a3ea00cfc35332cedf6e5e9a32e94da">E</a> msg_id, const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;a)</td></tr>
<tr class="separator:a61802a86c9e05dfce3526b83e1030b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a363b939f2004866cc61d6f8641b64b53" id="r_a363b939f2004866cc61d6f8641b64b53"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a363b939f2004866cc61d6f8641b64b53">GetIp</a> ()</td></tr>
<tr class="separator:a363b939f2004866cc61d6f8641b64b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a442d952037057f72e5bede777475e491" id="r_a442d952037057f72e5bede777475e491"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a442d952037057f72e5bede777475e491">GetPort</a> ()</td></tr>
<tr class="separator:a442d952037057f72e5bede777475e491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e41bbdda64c34a34d08986291272ee6" id="r_a9e41bbdda64c34a34d08986291272ee6"><td class="memTemplParams" colspan="2">template&lt;IsEnum E&gt; </td></tr>
<tr class="memitem:a9e41bbdda64c34a34d08986291272ee6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structdl_1_1_tcp_message_server.html">TcpMessageServer</a> *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a9e41bbdda64c34a34d08986291272ee6">GetPopMsg</a> ()</td></tr>
<tr class="separator:a9e41bbdda64c34a34d08986291272ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a100618b662e3a352a7cf63db29158950" id="r_a100618b662e3a352a7cf63db29158950"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a100618b662e3a352a7cf63db29158950">GetRemoteAddressString</a> (int socket_id)</td></tr>
<tr class="separator:a100618b662e3a352a7cf63db29158950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af909de52c5d28ab7c5aa196302ba7f99" id="r_af909de52c5d28ab7c5aa196302ba7f99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af909de52c5d28ab7c5aa196302ba7f99">Server</a> ()</td></tr>
<tr class="separator:af909de52c5d28ab7c5aa196302ba7f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add34e05251e585f0a2c66c81cdd7451c" id="r_add34e05251e585f0a2c66c81cdd7451c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#add34e05251e585f0a2c66c81cdd7451c">~Server</a> ()</td></tr>
<tr class="separator:add34e05251e585f0a2c66c81cdd7451c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>TCP服务器 </p>
<p class="definition">在文件 <a class="el" href="dl__net_8h_source.html">dl_net.h</a><a class="el" href="dl__net_8h_source.html#l00203">203</a> 行定义.</p>
</div><h2 class="groupheader">成员类型定义说明</h2>
<a id="a572a4908be95e5d78ec0d0cfb5bdd168" name="a572a4908be95e5d78ec0d0cfb5bdd168"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a572a4908be95e5d78ec0d0cfb5bdd168">&#9670;&#160;</a></span>CbDisconnect</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="#a572a4908be95e5d78ec0d0cfb5bdd168">dl::Server::CbDisconnect</a> = std::function&lt;void(int)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>断线回调 </p>
<p class="definition">在文件 <a class="el" href="dl__net_8h_source.html">dl_net.h</a><a class="el" href="dl__net_8h_source.html#l00207">207</a> 行定义.</p>
</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="af909de52c5d28ab7c5aa196302ba7f99" name="af909de52c5d28ab7c5aa196302ba7f99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af909de52c5d28ab7c5aa196302ba7f99">&#9670;&#160;</a></span>Server()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::Server::Server </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="add34e05251e585f0a2c66c81cdd7451c" name="add34e05251e585f0a2c66c81cdd7451c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add34e05251e585f0a2c66c81cdd7451c">&#9670;&#160;</a></span>~Server()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dl::Server::~Server </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a994ecaed74e2839873b615c13916b242" name="a994ecaed74e2839873b615c13916b242"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a994ecaed74e2839873b615c13916b242">&#9670;&#160;</a></span>Accept()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dl::Server::Accept </td>
<td>(</td>
<td class="paramtype">uint16_t</td> <td class="paramname"><span class="paramname"><em>port</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a363b939f2004866cc61d6f8641b64b53" name="a363b939f2004866cc61d6f8641b64b53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a363b939f2004866cc61d6f8641b64b53">&#9670;&#160;</a></span>GetIp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string dl::Server::GetIp </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9e41bbdda64c34a34d08986291272ee6" name="a9e41bbdda64c34a34d08986291272ee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e41bbdda64c34a34d08986291272ee6">&#9670;&#160;</a></span>GetPopMsg()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;IsEnum E&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdl_1_1_tcp_message_server.html">TcpMessageServer</a> * dl::Server::GetPopMsg </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__net_8h_source.html">dl_net.h</a><a class="el" href="dl__net_8h_source.html#l00258">258</a> 行定义.</p>
</div>
</div>
<a id="a442d952037057f72e5bede777475e491" name="a442d952037057f72e5bede777475e491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a442d952037057f72e5bede777475e491">&#9670;&#160;</a></span>GetPort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t dl::Server::GetPort </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a100618b662e3a352a7cf63db29158950" name="a100618b662e3a352a7cf63db29158950"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a100618b662e3a352a7cf63db29158950">&#9670;&#160;</a></span>GetRemoteAddressString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string dl::Server::GetRemoteAddressString </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>socket_id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a33caeb7456ac8649ebf09d1d5e202d9a" name="a33caeb7456ac8649ebf09d1d5e202d9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33caeb7456ac8649ebf09d1d5e202d9a">&#9670;&#160;</a></span>Run()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::Server::Run </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a61802a86c9e05dfce3526b83e1030b62" name="a61802a86c9e05dfce3526b83e1030b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61802a86c9e05dfce3526b83e1030b62">&#9670;&#160;</a></span>Send() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;IsEnum E, IsPod T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::Server::Send </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>sokect_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a3a3ea00cfc35332cedf6e5e9a32e94da">E</a></td> <td class="paramname"><span class="paramname"><em>msg_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;</td> <td class="paramname"><span class="paramname"><em>a</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__net_8h_source.html">dl_net.h</a><a class="el" href="dl__net_8h_source.html#l00217">217</a> 行定义.</p>
</div>
</div>
<a id="a61802a86c9e05dfce3526b83e1030b62" name="a61802a86c9e05dfce3526b83e1030b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61802a86c9e05dfce3526b83e1030b62">&#9670;&#160;</a></span>Send() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;IsEnum E, IsNotPod T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dl::Server::Send </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>sokect_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a3a3ea00cfc35332cedf6e5e9a32e94da">E</a></td> <td class="paramname"><span class="paramname"><em>msg_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> &amp;</td> <td class="paramname"><span class="paramname"><em>a</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">在文件 <a class="el" href="dl__net_8h_source.html">dl_net.h</a><a class="el" href="dl__net_8h_source.html#l00236">236</a> 行定义.</p>
</div>
</div>
<a id="afa6aa6578a2a292d8c33a31c5b8521f1" name="afa6aa6578a2a292d8c33a31c5b8521f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa6aa6578a2a292d8c33a31c5b8521f1">&#9670;&#160;</a></span>SetCbDisconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dl::Server::SetCbDisconnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a572a4908be95e5d78ec0d0cfb5bdd168">CbDisconnect</a></td> <td class="paramname"><span class="paramname"><em>func</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>设置断线回调 </p>
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>D:/dl/dl/io/<a class="el" href="dl__net_8h_source.html">dl_net.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
</small></address>
</div><!-- doc-content -->
</body>
</html>