在MFC中编写TCP/IP服务器端时,遇到读取访问权限冲突的问题
问题相关代码
CSessionSocket类定义
class CSessionSocket : public CSocket
{
DECLARE_DYNAMIC(CSessionSocket);
// Attributes
public:
CTcpServerDlg *m_pDlg;
// Operations
public:
CSessionSocket(CTcpServerDlg *pDlg);
virtual ~CSessionSocket();
// Overrides
public:
virtual void OnReceive(int nErrorCode);
protected:
};
定义pSocket
CSessionSocket *pSocket;
accept函数
void CTcpServerDlg::OnAccept()
{
pSocket=new CSessionSocket(this);
m_pListenSocket->Accept(*pSocket);
}
点击控件时运行代码
void CTcpServerDlg::OnBnClickedButtonSend()
{
// TODO: 在此添加控件通知处理程序代码
//这里省略对sendBuf的定义等操作
pSocket->Send(sendBuf, strlen(sendBuf),0); //程序运行到此处时报错
}
运行结果及报错内容
引发了异常: 读取访问权限冲突。
this->**pSocket** 是 0xCCCCCCCC