c++和设计一个OO类

C++ and designing an OO class

本文关键字:一个 OO c++      更新时间:2023-10-16

我对c++还是个新手,尤其是面向对象的类设计。我想设计一个路由器类,支持以下内容:

下面我要求指导的主要领域是如何设计类(es)和路由器类方法,它们以一种有利于在主机和客户端之间建立链接的方式分离主机和侦听器线程。主机类和客户端类将有它们自己的写方法。

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

从主机接收到的任何消息都将:1)路由到所有客户端2)根据消息中的关键信息路由到特定的客户端。将维护socket表的键。

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

任何帮助都会很感激。如果这对你们中的一些人来说太简单了,请原谅我。由于

似乎可以使用一个名为HostToClientMapper的类,它将维护映射以获取主机的所有客户端,反之亦然。这个类可以是Router中的一个元素。然后Router就有了所有必要的东西来做它的映射。