毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

C++的多媒体屏幕广播教学系统设计 第18页

更新时间:2012-2-23:  来源:毕业论文
 //学生输入密码错误
     strcpy(sendBuf,"Password is Incorrect!");
    }
   }
   else
   {
    //学号不存在
    strcpy(sendBuf,"Account is not exist!");
   }
  }
  uint8 slen = strlen(sendBuf);
  //打包并发送学生登录确认信息
  JOutStream jout;
  jout << (uint8)UMR_LOGIN;
  jout << slen;
  jout.writebytes(sendBuf,slen);
  char buf[1024] = {0};
  jout.getbuf(buf);
  sendto(p->GetSock(),buf,jout.length(),0,(sockaddr*)&pIoData->addr,sizeof(pIoData->addr));
  return 0;
 }
(4)学生端接收服务器返回的登录确认信息
LRESULT CLoginDlg::OnSockMsg(WPARAM wParam, LPARAM lParam)
{
  char recvbuf[1024] = {0};
  sockaddr_in peeraddr;
  int len = sizeof(peeraddr);
  WORD net_event = WSAGETSELECTEVENT(lParam);
  if (WSAGETSELECTERROR(lParam))
  {
   return -1L;
  }
  else
  {
   if (net_event & FD_READ)
   {
    //接收服务器发送的数据包并进行解包
    uint8 cmdSType;
    uint8 slen = 0;
    char rs[50] = {0};本文来自优.文~论^文·网原文请找腾讯324,9114
    udpSocket.SockRecv(recvbuf,&peeraddr,len);
    JInStream jin(recvbuf,1024);
    jin >> cmdSType;
    if (cmdSType == UMR_LOGIN)
    {
     //收到服务器返回的登录确认命令
     jin >> slen;
     jin.readbytes(rs,slen);
     if (!strcmp(rs,"TRUE")) //学生成功登录
      CDialog::OnOK();
     else
      MessageBox(rs); //学生登录失败,显示提示信息
    }
   }
  }
  return 0L;
}
4.2.3 屏幕广播模块
  为了实现学生机能同步观看到教师机的屏幕,必须将教师机的屏幕位图通过搭建好的网络实时地传递到客户机,然后客户机再将收到的屏幕位图进行全屏显示。服务器的实现首先是通过GrabScreen()函数获取到屏幕位图信息,然后调用SaveBitmapToFile()函数将该屏幕位图信息转换为位图并保存到本机指定位置,论文网http://www.youerw.com/  最后在OnStratBroadcast()函数中读取所保存的位图发送到学生端并启动定时器OnTimer()实现屏幕位图实时传输。学生端则通过RevFile()接收服务器发送的位图,并且保存于缓存中,然后调用ShowPIC()函数将位图进行显,显示效果如图4-3所示。

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ... 下一页  >> 

C++的多媒体屏幕广播教学系统设计 第18页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。