【问题标题】:Basic Client-Server Design for persistent connections?持久连接的基本客户端-服务器设计?
【发布时间】:2010-04-03 17:19:19
【问题描述】:

据我了解:

  1. 客户端和服务器建立连接

  2. 客户端发送服务器数据

  3. 服务器解释数据,发送客户端数据

  4. 以此类推,直到客户端发送断开信号。

我只是想知道实施。第 2 步和第 3 步让我感到困惑,也许我过于复杂了。除了巨大的 switch 语句之外,还有什么需要解释数据的吗?

有什么关于客户端/服务器设计的好书吗?专门讨论多线程服务器、可扩展性和消息设计(字节 1 = 标头信息,字节 2 = 等等)?专门针对 C++。

【问题讨论】:

  • 为什么连接需要持久化?

标签: networking client-server


【解决方案1】:

我会考虑数据包、数据包类型、数据包标识符和数据包类型处理程序的存储。

一个想法是仅以数据包的形式发送数据。每个数据包都在开头保留其标识符(可选)和类型(长度也很有用),连接的每一端都有一堆数据包处理程序,每个处理程序管理相应类型的数据包(读取和解释)。如果您发送一个数据包长度,您甚至可以跳过允许不同客户端和服务器版本的不支持类型的数据包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2014-04-04
    • 1970-01-01
    • 2016-07-06
    相关资源
    最近更新 更多