【发布时间】:2020-01-11 07:05:27
【问题描述】:
我正在使用标准的 C/C++ 套接字函数,但我想将它们封装到 C++ 类中。问题是用于发送和接收的函数返回(或要求)指向 void 的指针。有没有办法使用封装这些值的对象?
例如,在 Java 中,Socket 类同时使用 ObjectOutputStream 和 ObjectInputStream 以使用 Object 类型,因此每个对象都可以通过套接字发送。 我知道在 Java 中方法是完全不同的,因为指针对程序员是隐藏的,但是在 C++ 中是否有类似的解决方案?
【问题讨论】:
-
看看能不能用Boost's Socket Iostreams
-
您需要为此使用一些现成的库或框架。见stackoverflow.com/questions/4199185/socket-api-or-library-for-c
-
我会尝试在您的代码和套接字之间拉开一点距离。我的意思是,如果你例如想要实现 HTTP,使用 HTTP 库。对于其他协议,同样适用。除非有充分的理由,否则不要自己实现协议。如果您只想在程序之间交换消息,请考虑使用例如ZeroMQ 代替。