::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
optval=true;
m_count=0;
SOCKADDR_IN m_sin;
WSAStartup(0x2020,&wsdata);
//m_open=0;
    m_RevSocket=socket(AF_INET,SOCK_DGRAM,0);
if(m_RevSocket==INVALID_SOCKET)
{
MessageBox(L"CREAT",NULL,MB_OK);
int erro1=WSAGetLastError();
}
m_sin.sin_family=AF_INET;
m_sin.sin_port=htons(RECEIVEPORT);
m_sin.sin_addr.s_addr=INADDR_ANY;
m_from.sin_family=AF_INET;
m_from.sin_port=htons(RECEIVEPORT);
m_from.sin_addr.s_addr=INADDR_BROADCAST;//
    if((setsockopt(m_RevSocket,SOL_SOCKET,SO_REUSEADDR,(char FAR *)&optval,sizeof(optval)))==SOCKET_ERROR)
{

int erro=WSAGetLastError();
MessageBox(L"set",NULL,MB_OK);
}
if(bind(m_RevSocket,(SOCKADDR *)&m_sin,sizeof(m_sin))==SOCKET_ERROR)

MessageBox(L"BIND FAILED!",NULL,MB_OK);
  int err=WSAGetLastError();
}
SetTimer(1,1000,NULL);
}
::OnTimer(UINT_PTR nIDEvent)
{
          int nLen;
fromLength=sizeof(SOCKADDR);
   
if((nLen=recvfrom(m_RevSocket,buffer,256,0,(struct sockaddr FAR*)&m_from,(int FAR*)&fromLength))!=-1)
{
m_count=0;
                  ZeroMemory(buffer,256);
                 m_open=false;//导演席处于工作状态
                if(m_received!=true)
{
//获取系统时间
CString str;
SYSTEMTIME st;
::GetLocalTime(&st);
tbegin=CTime::CTime(st);
str=tbegin.Format("%m-%d %H:%M:%S");
m_edit1=str;
UpdateData(false);
m_received=true;

}
m_count=0;
}
else 
{
 if(m_open==false)
 {
 m_count++;
 //设置30秒后没有收到数据包
 if(m_count>30)
   {
CString str;
SYSTEMTIME st;
::GetLocalTime(&st);
tend=CTime::CTime(st);
CTimeSpan t1=(0,0,0,0,0,5);
tend=tend-t1;
str=tend.Format("%Y-%m-%d %H:%M:%S");
m_edit2=str;
                  totaltime=tend-tbegin;
int t=totaltime.GetMinutes();
m_totaltime=t;
UpdateData(false);
    m_count=0;
   }
 }
} CDialog::OnTimer(nIDEvent);
}