C ++和设计OO类

时间:2011-11-06 17:39:31

标签: c++ oop boost

我对C ++很新,特别是面向对象的类设计。 我想设计一个支持以下内容的路由器类:

我正在寻求以下指导的主要领域是如何设计类()和路由器类方法,以便于在主机和客户端之间建立链接的方式分离主机和侦听器线程。宿主类和客户端类将拥有自己的写入方法。

目前我有一个主机类,客户端类和一个客户端监听器类。 主机将在自己的线程上运行并具有唯一的套接字。 客户端侦听器将在其自己的线程上运行,并在客户端连接时启动客户端类的实例,每个客户端类都有自己的套接字。客户端侦听器线程仅在主机线程连接后才会启动。

从主机收到的任何消息都可以: 1)路由到所有客户端 2)根据消息中的关键信息路由到特定客户端。将保留套接字表的键。

从客户端收到的任何消息都将无条件地路由(写入)主机套接字。第二阶段将实现对多个主机的支持,其中相应的方案处理要路由到的主机。另外,我使用boost :: asio进行通信。

任何帮助将不胜感激。如果这对你们中的某些人来说似乎过于简单,请 原谅我。 感谢

1 个答案:

答案 0 :(得分:1)

似乎您可以使用名为HostToClientMapper之类的类,它会维护映射以获取主机的所有客户端,反之亦然。此类可以是Router的成员。然后,路由器将拥有完成映射所需的所有功能。