我想实现支持TCP/UDP协议的客户端+服务器。这个想法是,相同的程序将在两台机器上运行,它们应该能够相互通信。传统上是为客户端创建一个类,为服务器创建一个类(对于每个协议 - 因此总共有4个类),并在主要实例化客户端对象和服务器对象?或者创建一个实现客户端和服务器功能的类是一个很好的设计实践。什么是普遍接受的做法。 boost examples显示了为每个客户端和服务器实现的一个类。使用boost的C++中的TCP和UDP客户端+服务器
0
A
回答
1
TCP/UDP协议可以被另一组类(可以称为通道,流,协议等)抽象。然后,您将拥有Client类和Server类,并且它们中的每一个都可以使用TcpChannel和UdpChannel(或两者都可以在运行时在它们之间进行选择)。这是我看到这个实现的方式。 Channel然后可以提供服务器和客户端使用的读取和写入方法。
相关问题
- 1. android客户端服务器UDP或TCP?
- 2. UDP服务器,TCP客户端?
- 3. TCP/UDP客户端/服务器程序
- 4. c#TCP/IP服务器和客户端
- 5. UDP服务器和UDP客户端
- 6. Heroku上的Java TCP/UDP服务器和客户端
- 7. 客户端的C++ boost/asio服务器
- 8. java的TCP客户端和服务器
- 9. c - 具有多个客户端的UDP客户端服务器
- 10. udp客户端服务器程序c
- 11. c#UDP客户端服务器问题
- 12. C#UDP服务器/客户端 - NAT
- 13. 使用UDP中的服务器 - 客户端文件传输C
- 14. 客户端服务器 - (TCP)
- 15. TCP客户端服务器
- 16. Java中的TCP客户端和C中的服务器
- 17. C中的TCP客户端和Java中的服务器
- 18. C#TCP服务器客户端
- 19. c#tcp服务器客户端问题
- 20. C++多客户端TCP服务器
- 21. C#中TCP服务器的TCP客户端线程中断#
- 22. UDP客户端和服务器连接
- 23. Ping服务器和Ping客户端(UDP)
- 24. 双向UDP客户端和服务器?
- 25. UPD客户端和UDP服务器
- 26. TCP客户端和服务器
- 27. netty tcp bytebuffer服务器和客户端
- 28. C#客户端服务器TCP客户端收听
- 29. 的UnknownHostException在UDP客户端/服务器
- 30. java中的TCP服务器和TCP客户端
您需要不同的TCP客户端和服务器类,但UDP类可能是相同的。 [via-httplib](https://github.com/kenba/via-httplib)中的通信代码支持TCP和UDP协议,基于boost asio。 – kenba