我 认为一个剧难的问题(我认为)-------socket&thread
伪代码如下:
bind(s,.....);
while(true)
{
....初始化套介子
listen(s,SO_MAX);
CConnector * p=new CConnector ;
p->m_soket1=Accept(......);
p->ConnectToServer(....);
Sleep(3);
}
CConnector {
SOCKET m_soket1,m_soket2;
void ConnectToServer();
}
CConnector::ConnectToServer()
{
Connect(soket2,ServerName,...); ---------?????
AfxBeginThread(....); -------开始服务线程
}
------------------------
当有2个以上的用户在同一时刻同时连接时,我发现在????处,系统的出错代码是“套疖子已经完成的操作”,所以我猜想是我只准备了一个CConnector,却有2个客户来连接,由于是多线程程序,所以很难打断点调式(哪位大虾有调试多线程的招数??)-------请问:我分析正确吗????