菜鸟学飞:用CAsyncSocket类建立聊天程序,accept时出现内存错误:(
正在尝试用CAsyncSocket类建立一个两人聊天程序
已做好客户端,用来跟别人的服务端程序连接时正常,并可正常发送消息.
在编写服务端的过程中,前面一切还算顺利
但在用我的客户端连我的服务端时,出现错误提示窗口:
socket notification sink:chatS.exe -应用程序错误
"0x004021f0"指令引用的"0x00000170"内存。该内存不能为"written"。
……
我debug,发现是因为accept函数里这条语句不能执行:
m_sConnectSocket=new CSocket;
m_sListenSocket.Accept((CAsyncSocket &)*m_sConnectSocket);
如果将
m_sConnectSocket=new CSocket;
这条语句去掉,程序运行,但出现类似于上面的错误提示,变成该内存不能为"read"
我觉得很疑惑:一切是按照CAsyncSocket的编程模型下来的阿
怎么会这样?
希望有高手能帮助解答一下,小弟感激不尽。
初学者,存分不多,只能送上区区50,聊表心意。
对了,在debug时,客户端点击连接后,step到m_sConnectSocket=new CSocket;时
出现unhandled exception in chatS.exe:0xC0000005:access violation.
如果去掉 m_sConnectSocket=new CSocket;
则在step到m_sListenSocket.Accept((CAsyncSocket &)*m_sConnectSocket);时出现同样的错误提示。