使用 boost 的 C++ 中的 TCP 和 UDP 客户端 + 服务器
TCP and UDP client + server in C++ using boost
我想实现同时支持 TCP/UDP 协议的客户端 + 服务器。这个想法是相同的程序将在两台机器上 运行 并且它们应该能够相互通信。为客户端创建一个 class,为服务器创建一个 class(对于每个协议 - 因此总共有 4 个 classes)并在主实例中实例化一个客户端对象和服务器对象是否传统?或者创建一个实现客户端和服务器功能的 class 是一个好的设计实践。普遍接受的做法是什么。boost examples 显示为每个客户端和服务器实施一个 class。
TCP/UDP协议可以抽象为另一组classes(可以称为Channel、Stream、Protocol等)。然后您将拥有客户端 class 和服务器 class,并且它们中的每一个都可以使用 TcpChannel 和 UdpChannel 中的任何一个(或同时使用两者并在运行时在它们之间进行选择)。这就是我看到的实现方式。 Channel 然后可以提供服务器和客户端使用的读取和写入方法。
我想实现同时支持 TCP/UDP 协议的客户端 + 服务器。这个想法是相同的程序将在两台机器上 运行 并且它们应该能够相互通信。为客户端创建一个 class,为服务器创建一个 class(对于每个协议 - 因此总共有 4 个 classes)并在主实例中实例化一个客户端对象和服务器对象是否传统?或者创建一个实现客户端和服务器功能的 class 是一个好的设计实践。普遍接受的做法是什么。boost examples 显示为每个客户端和服务器实施一个 class。
TCP/UDP协议可以抽象为另一组classes(可以称为Channel、Stream、Protocol等)。然后您将拥有客户端 class 和服务器 class,并且它们中的每一个都可以使用 TcpChannel 和 UdpChannel 中的任何一个(或同时使用两者并在运行时在它们之间进行选择)。这就是我看到的实现方式。 Channel 然后可以提供服务器和客户端使用的读取和写入方法。