<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>命令协议 on PlumePHP</title><link>https://plumephp.com/tags/%E5%91%BD%E4%BB%A4%E5%8D%8F%E8%AE%AE/</link><description>Recent content in 命令协议 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 02 Mar 2021 10:16:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E5%91%BD%E4%BB%A4%E5%8D%8F%E8%AE%AE/index.xml" rel="self" type="application/rss+xml"/><item><title>游戏服务器客户端命令回执架构：让点击、重试与状态确认不再互相打架</title><link>https://plumephp.com/game-server-client-command-acknowledgement-architecture/</link><pubDate>Tue, 02 Mar 2021 10:16:00 +0800</pubDate><guid>https://plumephp.com/game-server-client-command-acknowledgement-architecture/</guid><description>&lt;h2 id="问题背景"&gt;问题背景&lt;/h2&gt;
&lt;p&gt;玩家点击一次强化按钮，客户端可能因为网络抖动发出两次请求；服务器可能第一次已经成功扣了材料，但回包在路上丢了；客户端看到超时后又刷新背包，发现材料少了却没有看到强化成功动画。这类问题不是单纯的“网络不好”，而是命令回执没有被当成一等架构来设计。&lt;/p&gt;</description></item></channel></rss>