CAsyncSocket
之后但在调用CAsyncSocket
回调之前删除了Connect
,则 OnConnect
会崩溃我的应用程序。 ASSERT(pSocket != NULL)
CAsyncSocket::DoCallBack
失败,应用程序退出。
换句话说,如果我创建一个CAsyncSocket
,尝试将它连接到服务器,然后在该连接成功或失败之前终止它,我有问题。我可以通过实现OnConnect
并设置一个指示连接尝试已完成的标志来避免此特定崩溃。如果该标志为false,我知道删除是不安全的。
在删除对象之前是否还需要检查其他情况?有没有一种方法来检查它是否安全?或者我是否需要为我可能启动的任何操作(OnReceive
,OnSend
,OnConnect
)实现所有回调并确保已调用这些回调?
答案 0 :(得分:1)