持久连接的基本客户端 - 服务器设计?

时间:2010-04-03 17:19:20

标签: networking client-server

根据我的理解,这是:

  1. 客户&服务器建立连接

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

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

  4. 等等,直到客户端发送断开连接信号。

  5. 我只是想知道实施情况。第2步和第3步对我来说很困惑,也许我过于复杂了。是否还有解释数据而不是巨大的switch语句?

    有关客户/服务器设计的好书吗?具体谈论多线程服务器,可伸缩性和消息设计(字节1 =头信息,字节2 =等等等)?专门针对C ++。

1 个答案:

答案 0 :(得分:1)

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

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