在 MFC 的 CAsyncSocket 类中,确实有一个受保护的虚拟方法 OnConnect,它在异步套接字成功连接时被调用。你可以在派生自 CAsyncSocket 的类中覆盖这个方法,以便在连接建立时执行自定义的操作。

以下是 CAsyncSocket::OnConnect 方法的基本结构:
class CAsyncSocket : public CObject
{
public:
    // ... 其他成员函数和成员变量 ...

protected:
    virtual void OnConnect(int nErrorCode);

    // ... 其他受保护的成员函数和成员变量 ...
};

在你的派生类中,你可以像这样覆盖 OnConnect 方法:
class MySocket : public CAsyncSocket
{
protected:
    virtual void OnConnect(int nErrorCode)
    {
        if (nErrorCode == 0)
        {
            // 处理连接成功的代码
            // ...
        }
        else
        {
            // 处理连接失败的代码
            // ...
        }

        // 调用基类的 OnConnect,以确保正常的连接处理
        CAsyncSocket::OnConnect(nErrorCode);
    }
};

在这个例子中,OnConnect 方法被覆盖,你可以在其中添加处理成功连接或连接失败的自定义代码。在处理完毕后,调用了 CAsyncSocket::OnConnect,以确保正常的连接处理。




转载请注明出处:http://www.zyzy.cn/article/detail/15551/MFC/CAsyncSocket