本人用MFC封装的CAsyncSocket类写了一个客户端的程序,为什么每次connect()之后,都不会进OnConnect()函数中呢?解决思路

本人用MFC封装的CAsyncSocket类写了一个客户端的程序,为什么每次connect()之后,都不会进OnConnect()函数中呢?
不知道为什么,就是连不上服务端,每次connect()之后,WSAGetLastError()得到的错误码都是10022,请大家帮我看一下,谢谢了。
void MySocket::ConnectReader()
{  
char * IpAddress = "127.0.0.1";
UINT Port = 4000;
this->Create();
this->Connect((LPCTSTR)IpAddress,Port);  
return;
}

在这里重写了OnConnect()函数
void MySocket::OnConnect(int nErrorCode)
{
if(nErrorCode == 0)
{
//To mark that internet has been connected.
m_bConnected = TRUE;
}
CAsyncSocket::OnConnect(nErrorCode);
}

void CEPersoTestDlg::OnBnClickedBtnOneshot()
{
MySocket a ;
a.create();
a.ConnectReader();
}

------解决方案--------------------
void MySocket::ConnectReader()
{
char * IpAddress = "127.0.0.1";
UINT Port = 4000;
this->Create();
this->Connect((LPCTSTR)IpAddress,Port);
return;
}
this指的是谁?
------解决方案--------------------
C/C++ code
void CEPersoTestDlg::OnBnClickedBtnOneshot()
{
MySocket a ;
char * IpAddress = "127.0.0.1";
UINT Port = 4000;
s.Create();
s.Connect((LPCTSTR)IpAddress,Port); 
}

------解决方案--------------------
10022这个错误代码意思是提供了无效的参数
至于OnConnect()函数进不去,你该回头补习下API原理和MFC封装API的原理了。。
------解决方案--------------------
探讨
不知道为什么,就是连不上服务端,每次connect()之后,WSAGetLastError()得到的错误码都是10022,请大家帮我看一下,谢谢了。
void MySocket::ConnectReader()
{
char * IpAddress = "127.0.0.1";
UINT Port = 4000;
this->Create();
this->Connect((LPC……