<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Websocket - 标签 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/tags/websocket/</link><description>Websocket - 标签 - 研发日志 · R&amp;D Log</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>whutluohui@gmail.com (小智晖)</managingEditor><webMaster>whutluohui@gmail.com (小智晖)</webMaster><copyright>本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。</copyright><lastBuildDate>Thu, 05 Jun 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://rd163.visword.com/tags/websocket/" rel="self" type="application/rss+xml"/><item><title>基于boost.asio的WebSocket类库</title><link>https://rd163.visword.com/posts/cpp-websocket-base-on-boost-asio/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/cpp-websocket-base-on-boost-asio/</guid><description><![CDATA[<h2 id="zaphoydwebsocketpp" class="headerLink">
    <a href="#zaphoydwebsocketpp" class="header-mark"></a>zaphoyd/websocketpp</h2><p><a href="https://github.com/zaphoyd/websocketpp" target="_blank" rel="noopener noreferrer">WebSocket++ github </a></p>
<p>具有以下特点：</p>
<ul>
<li>Header Only的跨平台 WebSocket 库</li>
<li>网络 IO 基于 Boost::asio 实现</li>
<li>由于boost::asio 的 io_context 使用了线程存储,所以在 M:N 的协程模式(fiber) 下调用需格外小心。最好是采用 1:N 的协程。</li>
</ul>
<p>当服务作为客户端管理多个 Connection 时， 如果每个Connection 对象都使用一个 Client 对象， 由于 Client 在Connect（无论Url中使用IP还是域名） 时都会创建一个独立线程来进行域名解析，导致线程数过多，从而性能地下。</p>]]></description></item></channel></rss>