读书人

CAsyncSocket种夫人OnAccept函数内new

发布时间: 2012-06-25 18:37:39 作者: rapoo

CAsyncSocket类夫人OnAccept函数内new一个同步类,传给Accept()函数可以吗?

C/C++ code
#include<afxsocket.h>//使用通信,要此头文件//继承与CAsyncSocket类void CServer::OnAccept(int nErrorCode)//接受消息{    CSocket* pSocket = new CSocket;//是同步CSocket类?    Accept(*pSocket);    CHAR szBuff[100]={0};    pSocket->Receive(szBuff,100);    AfxMessageBox(szBuff);    CAsyncSocket::OnAccept(nErrorCode);}


[解决办法]
CSocket* pSocket = new CSocket;//是同步CSocket类?
你应该把pSocket保存在一个变量数组里,类似CObjectArray类(记不清楚了),这样你就可以随时用已建立的连接进行发送接收.你应该派生一个CSocket类,然后这样做:
void CServer::OnAccept(int nErrorCode)//接受消息
{
CSocket* pSocket = new CostumCSocket;//是同步CSocket类?
Accept(*pSocket);
CHAR szBuff[100]={0};
pSocket-> Receive(szBuff,100);
AfxMessageBox(szBuff);
CAsyncSocket::OnAccept(nErrorCode);
}

Class CostumCSocket:CSocket
{
加上自己的函数及派生CSockeet自己类函数
};

读书人网 >VC/MFC

热点推荐