sidebar 隐藏/显示

xingzhe

软件学习笔记&心得。
    <<  第7章 Winsock基础 | 首 页 | 8.2.2 WSAAsyncSelect  >>
  • 2006-11-26

    第8章 WinsockIO方法 - [winsock]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://xingzhesun.blogbus.com/logs/3916035.html

    第8章 WinsockIO方法
    套接字模式:锁定和非锁定
    8.1套接字模式
    生产者-消费者
    8.1.2非锁定模式
    SOCKET s;
    unsigned long ul = 1;
    int nRet;

    s = socket(AF_INET, SOCK_STREAM, 0);
    nRet = ioctlsocket(s, FIOBIO, (unsigned long *)&ul);
    if(nRet == SOCKET_ERROR)
    {
    ....
    }

    8.2.1 select模型
    利用这个函数,我们判断套接字上是否存在数据,或者能否向一个套接字写入数据。
    int select(int nfds,
    fd_set FAR* readfds,
    fd_set FAR* writefds,
    fd_set FAR* exceptfds,
    const struct timeval FAR* timeout);

    FD_CLR(s,*set);从set中删除套接字s。
    FD_ISSET(s,*set);检查s是否在set中。
    FD_SET(s,*set);将s加入集合set。
    FD_ZERO(*set);将set初始化。

    SOCKET s;
    fd_set fdread;
    int ret;

    //create a socket and accept a connection

    //Manage I/O on the socket
    while(1)
    {
    FD_ZERO(&fdread);

    FD_SET(s,&fdread);

    if((ret = select(0, &fdread, NULL, NULL, NULL)== SOCKET_ERROR)
    { //ERROR }

    if(ret >0)
    {
    if(FD_ISSER(s, &fdread))
    {
    //a read event has occurred on socket s.
    }
    }

    }


    随机文章:

    Windows网络编程经验小结 2007-02-05
    8.2.5完成端口模型 2006-11-27
    8.2.3WSAEventSelect 2006-11-27
    第六章 地址家族和名字解析 2006-11-20
    贝尔实验室笔试题目 2006-11-08

    收藏到:Del.icio.us




    Tag:
    引用地址:
    xingzhebnu 发表于23:08:30 | 编辑 | 继续话题 | 转发 | 分享 0
text size: - reset +


个人资料

xingzhebnu

Software developer && ET worker

日历

搜索

管理

  • 进入后台 写新日志
  • 文章管理 评论管理
  • 更换模板 访问统计

文章分类

  • C++再学习[44]
  • 感想&日记[19]
  • C++面试题[16]
  • 软件工程[6]
  • STL[1]
  • from my heart[1]
  • Codejock[1]
  • svn[1]
  • MFC[2]
  • VB[1]
  • ATL[6]
  • Java[12]
  • 设计模式[4]
  • winsock[6]
  • 多线程程序设计[10]
  • 并行计算[2]
  • JavaScript[7]
  • WTL[1]
  • related Mozilla[1]
  • 数据库[0]
  • peercast[1]

Tag

  • 我爱阿尔法女郎第一期话题[1]
More..

最新文章

  • SQL查询
  • 怎样检查内存泄漏?
  • 在vs2008中提供对Web Service的访问
  • Web service到底是什么?
  • Advise 和UnAdvise的
  • 删除文件夹中的文件
  • Visual Studio 2008运行时提示找不到msvcr90d.dll的解决办法
  • VC++帧不对齐
  • windows 服务程序
  • C++内存泄漏
全部日志>>

最新评论

  • 又春:发现了一个节目很棒很不错的网络电视台,用IE浏览器就可以...
  • jt:在不另外申请内存空间的条件下,将两个整数互换。 i t...
  • 卡卡索:我看了你贴的进程传递 我写了个程序:一进程得到数后加一传...
  • 71瓶幸福:如老大的自我评价,上来一看,果然是代码多多啊,呵呵!我不...
  • 果 采采:祝大家中秋节快乐!想家ing~~...

链接

  • 杨开城博士
  • upervisor,
  • 庄秀丽博士
  • 东行记
  • 北师大知识工程研究中心
  • 惟存教育网志
  • ICDE
  • AECT
  • Institute
  • 71瓶幸福
  • friend

存档

  • 2009-06[8]
  • 2009-05[2]
  • 2009-04[1]
  • 2009-03[9]
  • 2009-02[2]
  • 2009-01[1]
  • 2008 [17]
  • 2007 [60]
  • 2006 [54]
  • 2005 [11]
  • RSS 什么是RSS?
    用IM提醒我内容更新
    订阅到QQ邮箱
    订阅到鲜果阅读器
    订阅到Google阅读器
    订阅到抓虾阅读器
  • 《城客》第三期:毛细香港
    博客大巴
    博客大巴使用指南
    博客大巴模板中心
    免费注册博客大巴
    一键博客搬家工具
    中文互动杂志城客
Copyright © 2002-2009 BlogBus.com, All Rights Reserved. 博客大巴 版权所有
博客大巴模板设计:从容之美 II | 作者: iZ