socket select模型编程
来源:互联网 发布:上海市软件测评中心 编辑:程序博客网 时间:2024/05/07 02:29
SOCKET listenSocket; //服务器监听套接字SOCKET acceptSocket; //接收客户端连接请求套接字FD_SET socketSet; //服务器套接字集合FD_SET writeSet; //可写套接字集合FD_SET readSet; //可读套接字集合FD_ZERO(&socketSet) //清空服务器套接字集合FD_SET(listenSocket,&socketSet); //加入监听套接字while(TRUE){FD_ZERO(&readSet); //清空可读套接字集合FD_ZERO(&writeSet); //清空可写套接字集合readSet=socketSet;writeSet=socketSet;//调用检查套接字状态if(SOCKET_ERROR == select(0,&readSet,&writeSet,NULL,NULL)){//select函数调用失败处理printf("select() returned with error %d\n",WSAGetLastError());return;}//检查是否存在客户端的连接请求if(FD_ISSET(listenSocket,&readSet)){//接受客户端请求if(INVALID_SOCKET != (acceptSocket = accept(listenSocket,NULL,NULL))){FD_SET(acceptSocket,&socketSet); //将该套接字加入服务器套接字集合}else{printf("accept() fail with error %d\n",WSAGetLastError());return;}}//遍历所有的套接字for(int i=0;i<socketSet.fd_count;i++){SOCKET sAccept=socketSet.fd_array[i];if(FD_ISSET(sAccept,&readSet)) //该套接字可读{//调用输入函数,接收数据}if(FD_ISSET(sAccept,&writeSet)) //该套接字可写{//调用输出函数,发送数据}}}
0 0
- socket select模型编程
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- socket编程的select模型
- C-socket编程-Select()模型
- socket编程(二) select 模型
- Windows Socket编程的select模型
- Android 基础:SharePreferences知识总结和在“登录”界面的范例实现
- JavaScript之document.cookie使用总结
- UVA 11020 Efficient Solutions+multiset的应用
- fork创建进程
- linux 日常命令
- socket select模型编程
- rest实战
- svn linux命令
- 南邮 OJ 1913 闹钟
- JavaScript中setInterval函数应用常见问题之一(第一个参数不加引号与加引号的区别)
- hdoj 5033 凸包
- Handler、Looper、MessageQueue(三)
- DevExpress v15.1:TestCafe功能升级
- 拓扑排序(topological sort)DFS