ReceiveFrom CAsyncSocket UDP 接收内存错误
请大家帮帮忙!!!!!在此先谢啦
在主对话框类中
//int IpLong = sizeof(lpSockAddr);
//m_MySocket.ReceiveFrom((char*)&m_ClientMessage, sizeof(m_ClientMessage), (sockaddr*)&lpSockAddr, &IpLong, 0);
CString ClientIp = _T("");
UINT ClientPort = 0;
memset(&m_ClientMessage,0, sizeof(m_ClientMessage)); //这句出错 内存错误 在初始化函数里可以
//m_MySocket.ReceiveFrom((char*)&m_ClientMessage, sizeof(ClientMessage), ClientIp, ClientPort, 0);
//char Buf[30] = {0};
//m_MySocket.ReceiveFrom((char*)Buf, 30, ClientIp, ClientPort, 0);
//m_ClientMessage为下面这个结构体
/*struct ClientMessage
{
int iMessageType; //类型
union _message
{
LoginMessage Login; //登陆
EnrolMessage Enrol; //注册
UpdateMessage Update; //更新
ReqChatMessage ReqChat; //请求聊天
}message;
};*/
每次运行ReceiveFrom都报 0x78b12920 (mfc90ud.dll) 处未处理的异常: 0xC0000005: 读取位置 0x000005b0 时发生访问冲突
发送代码
m_MySocket.SendTo((char*)&m_MessageToS,
sizeof(m_MessageToS),
(sockaddr*)&lpSockAddr, sizeof(lpSockAddr),0);
我想应该是参数设置错了!!可是。。。。