1> 在服务端用GetPeerName() 得到的IP和在客户端用 GetSockName()得到的IP不一样,
问什么?哪个是"真"的?
2> 我创建一个新线程来传文件,把一个CMySocket object( derived from CSocket)
的传到此线程,再生成一个新 object m_socket, 大体做法如下:AfxSocketInit();
CMySocket* m_socket = new CMySocket();
m_socket->Attach(ptp->socket);
....//after work done
m_socket->Detach();
delete m_socket;数据可以发送,没问题,而且发完一个文件还可以发送另一个。可问题是当第一次
调用此线程以后,就OnReceive()没反映了,即无法发现socket 里有新数据。多谢了!!!
问什么?哪个是"真"的?
2> 我创建一个新线程来传文件,把一个CMySocket object( derived from CSocket)
的传到此线程,再生成一个新 object m_socket, 大体做法如下:AfxSocketInit();
CMySocket* m_socket = new CMySocket();
m_socket->Attach(ptp->socket);
....//after work done
m_socket->Detach();
delete m_socket;数据可以发送,没问题,而且发完一个文件还可以发送另一个。可问题是当第一次
调用此线程以后,就OnReceive()没反映了,即无法发现socket 里有新数据。多谢了!!!
第二个问题我没做过这方面的,只好请教别人
到这个新socket, 也就是建立一个新连接(因为我的程序需要新线程来
专门传送数据)??
数据,只是在线程万了以后才发送,但OnReceive() 没有反映,
另外,如果再线程里不用上述方法,而用send(), 就一点问题没有,所以我
猜测一定是 Attach(), Detach() or delete m_socket 出问题。