【发布时间】:2016-05-04 15:09:43
【问题描述】:
我正在寻找一种无需子类化即可使用 CAsyncSocket 的方法。到目前为止,在我发现的所有示例和教程中,它们都是它的子类,我想避免它。
提前谢谢你
【问题讨论】:
标签: c++ sockets winapi mfc network-programming
我正在寻找一种无需子类化即可使用 CAsyncSocket 的方法。到目前为止,在我发现的所有示例和教程中,它们都是它的子类,我想避免它。
提前谢谢你
【问题讨论】:
标签: c++ sockets winapi mfc network-programming
CAsyncSocket 旨在通过子类化来使用。它具有虚拟方法 - OnConnect、OnReceive,必须由子类覆盖,以便应用程序代码处理事件。
【讨论】:
不需要从CAsyncSocket 派生来使用它,尽管客户通常会这样做。如果您不派生(并实现回调处理程序),则几乎不可能以异步方式使用套接字。
CAsyncSocket 与任何其他 C++ 类一样,并且可以以几乎相同的方式实例化(在具有自动存储持续时间的堆栈上,或者 - 更常见的是 - 在具有动态存储持续时间的免费存储中)。 MSDN 提供了使用“裸”CAsyncSocket:Windows Sockets: Using Class CAsyncSocket 的教程。
【讨论】:
CAsyncSocket 与其他类一起使用并没有什么特别有趣的地方。这只是您的普通 C++ 课程。您具体需要了解什么?
CAsyncSocket 派生并实现自己的通知处理程序的情况下获得有关传入数据的通知?由于您一直在重复您希望避免从某个类派生,这听起来像是您真的在尝试避免学习 C++。