void CSenderDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//启动网络层数据发送定时器
switch(nIDEvent)
{
case ID_SEND_TIMER:
if (m_iBuffered < m_SendWndSize)
PostMessage(NETWORK_LAYTER_READY);
break;
default: //case timeout
int framePos = nIDEvent - ID_TIMER_USER;
ASSERT(framePos>=0 && framePos<m_SendWndSize);
ReSendFrame(framePos);
break;
}
CDialog::OnTimer(nIDEvent);
}
这里使用了一个定时器,如果到了时间,缓冲区里的数据不足,那么发送消息,表示自己就绪,否则就重新发送这个帧