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

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

更新时间:2012-2-23:  来源:毕业论文
 //服务器完成端口接收的包的操作类型
 RECV_POSTED,
 SEND_POSTED,
 NEW_POSTED
} OP_TYPE;

typedef struct
{
 //完成端口数据包结构
 OVERLAPPED ol;
 WSABUF data;
 char buf[DATA_SIZE];
 sockaddr_in addr;
 OP_TYPE opType;
} PER_IO_DATA,*LPPER_IO_DATA;
(2)在服务器主窗口类CMY_UdpIocpSrvDlg中创建套接字及完成端口并进行绑定
 //创建一个套接字并判断是否成功
int ret;
 udpSocket = socket(AF_INET,SOCK_DGRAM,0);
 if (udpSocket == SOCKET_ERROR)
 {
  TRACE("err code=%d\n",GetLastError());
  return;
 }
 DWORD dwBytesReturned = 0;
 BOOL bNewBehavior = FALSE;
 WSAIoctl(udpSocket, SIO_UDP_CONNRESET,
  &bNewBehavior, sizeof(bNewBehavior),
  NULL, 0, &dwBytesReturned,
                   NULL, NULL);
 //设置服务器地址
 sockaddr_in servaddr;
 memset(&servaddr,0,sizeof(servaddr));
 servaddr.sin_family = AF_INET;
 servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
 servaddr.sin_port = htons(m_port);
 //设置服务器端口可重复利用
 int opt = 1;本文来自优.文~论^文·网原文请找腾讯3249.114
 ret=setsockopt(udpSocket,SOL_SOCKET,SO_REUSEADDR,(constchar*)&opt,sizeof(opt));
 if (SOCKET_ERROR == ret)
 {
  TRACE("err code=%d\n",GetLastError());
  return;
 }论文网http://www.youerw.com/  
 //绑定套接字
 ret = bind(udpSocket,(sockaddr*)&servaddr,sizeof(servaddr));
 if (SOCKET_ERROR == ret)
 {
  TRACE("err code=%d\n",GetLastError());
  return;
 }
 //创建完成端口
 hIocp = CreateIoCompletionPort(INVALID_HANDLE_VALUE,NULL,NULL,0);
 if (hIocp == NULL)
 {
  TRACE("err code=%d\n",GetLastError());
  return;
 }
 //将套接字与完成端口绑定
 if (hIocp != CreateIoCompletionPort((HANDLE)udpSocket,hIocp,0,0))
 {
  TRACE("err code=%d\n",GetLastError());

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

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

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