用socket从服务器端向客户端发送数据第二次发送总是异常

用socket从服务器端向客户端发送数据第二次发送总是错误
LRESULT CMainDlg::OnBnClickedButton2(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
  int len=sizeof(SOCKADDR);

  SOCKET sockConn=accept(ServerSocket,(SOCKADDR*)&m_sockServerAddr,&len); 

  inet_ntoa(m_sockServerAddr.sin_addr);  


  if(send(sockConn,"123",sizeof("123")+1,0) == SOCKET_ERROR)//Image\n[111;222;333]\nDone\n
  {
  MessageBox(_T("发送错误!"));
  }
  return 0;
}

------解决方案--------------------
C/C++ code

LRESULT CMainDlg::OnBnClickedButton2(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
  int len=sizeof(SOCKADDR);
  static bool bIsAccepted = false;
  if(!bIsAccepted)
  {
     SOCKET sockConn=accept(ServerSocket,(SOCKADDR*)&m_sockServerAddr,&len);  
     if( sockConn != INVALID_SOCKET )
     {
         bIsAccepted  = true;
         inet_ntoa(m_sockServerAddr.sin_addr);
      }
   }
    
  if(send(sockConn,"123",sizeof("123")+1,0) == SOCKET_ERROR)//Image\n[111;222;333]\nDone\n
  {
  MessageBox(_T("发送错误!"));
  }
  return 0;
}