CSocket::SendMessage()
{
Send(.....);
for(int i;i<100;i++)
{
if(收到数据)
break;
sleep(100); //等待接收返回数据并处理
}
}
为什么在sleep期间CSocket::OnReceive(int nErrorCode)不执行,
{
Send(.....);
for(int i;i<100;i++)
{
if(收到数据)
break;
sleep(100); //等待接收返回数据并处理
}
}
为什么在sleep期间CSocket::OnReceive(int nErrorCode)不执行,
CWinThread::OnTimer()
{
tcp.Send(.....);
for(int i;i<100;i++)
{
if(tcp收到数据)
break;
sleep(100); //等待接收返回数据并处理
}
}
这样不是只挂起CWinThread吗,但tcp.OnReceive(int nErrorCode)也不执行
http://community.csdn.net/Expert/topic/3855/3855354.xml?temp=.7537805
还有分
{
if(没有标志) {
send();
设置为标志A;
}
else if(是标志A)
{
检测有没有返回数据;
if(有返回数据了)
{
处理返回数据;
设置标志为C,准备进入下一个消息的发送;
}
}
else if(是标志C)
{
send(第二阶段数据);
设置标志D;
}
else if(是标志D)
...}