今天花了好长时间调试的一个低级问题: class CAsyncSocket { public: ...... bool connect(); void OnConnect(); void OnReceive(); } class A { public: ...... static DWORD WINAPI thread(LPVOID); void new_connect(); CAsyncSocket* m_socket; } void A::new_connect() { if(m_socket==NULL) { m_socket = new CAsyncSocket(); m_socket->connect(); } } DWORD WINAPI A::thread(LPVOID pt) { (A)pt->new_connect(); //这边调用类里的函数初始化网络并连接, //因为CAsYncSocket为消息事件方式,需要加入消息循环才能正常工作 //线程里加入消息循环 -------------- MSG msg; while (GetMessage(&msg, 0, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } //------------------- return 0; }
线程中的new造成的异步socket 连接问题
最新推荐文章于 2021-08-26 00:08:37 发布