解决方案 »

  1.   

    忘了顺便提两个问题:overlapped 结构如果是自己定义的话,那我想怎么定义都行吗
      

  2.   

    我用完成时端口开发网络服务器,请问怎么设备心跳包?还有就是怎么样实现连接中超时,比如我连接30秒无动作就自动关闭socket连接 
    overlapped 结构如果是自己定义的话,那我想怎么定义都行吗(对的)
      

  3.   

    用完成断口,还用心跳包吗?
    不知道
    对了,高手做完了iocp 服务器后怎么测试他强大的i/o吞吐功能。
      

  4.   

    可以自己定义,但是最好把WSAOverlapped 结构放在结构体的第一位置
      

  5.   

    GetQueuedCompletionStatus函数返回的overlap结构能不能按我自己写的结构填充数据。
    真怪了,这个结构还自己定义,我不自己定义行不?让系统来做。
    高手做完了iocp 服务器后怎么测试他强大的i/o吞吐功能。不要告诉我发现问题在说。
      

  6.   

    结构可以这样定义
    struct OVERLAPPED_EX : public OVERLAPPED
      

  7.   

    没什么好研究的 只有 两个api 你看懂就行。如果要用他做程序的华,你要考虑很多。
    并发模式,客户端管理,事件分发,内存管理,锁的机制等等。这些才是重点。
      

  8.   

    就是windows 网络编程第一版中的iocp 的例子中 GetQueuedCompletionStatus函数返回的WSABUF 中是什么那,是接收的数据吗?如果是的话,就是说不在判断了 int opttype 的类型后就可以对这个缓冲区进行处理了,就不用在调用WSArecv 了是吗。
      

  9.   

    同意‘ bluecrest(高歌)’1。一样的要使用心跳检测。
    2。IOCP的测试程序其实要写好,也是很花时间的。而IOCP的测试主要是如下几个方面:
        A。大量并发连接的响应延时是多少,能够画出曲线。
        B。数据吞吐能力曲线。
        测试数据吞吐最简单的方法就是搞回音壁,测试程序收发的时候应该可以累计时间与包数以及流量,自己计算平均值。
        C。核心业务逻辑并发处理响应能力。(显示不同连接数下的趋势图)
        
    每个测试程序要有很多参数可以设置,比如线程数啊等等之类的。 一般最好写测试程序的人不要和写服务器程序的人是同一个人。
      

  10.   

    高手指点下:
    iocp到底是什么?
      

  11.   

    也在学这个,不知道怎么回收资源,先顶一上,大家帮忙看看。
    http://community.csdn.net/Expert/topic/4049/4049668.xml?temp=.3554499
      

  12.   

    靠,太好了,我这个帖子的人气还是可以的呀。希望大家踊跃发言呀。
    我感觉到我们手头的iocp 的例子还是有限,不是太简单,没有什么说服力,就是太复杂了。不适合于初学这。我希望谁有一个简单的并且比较详细的例子共享一下。
    我现在正在研究iocp ,等我研究出来,肯定写一个详细的学习笔记记录一下,然后将代码共享
      

  13.   

    iocp 确实比较复杂呀,有很多代码讲的不是很一致不知道那个正确呀 对了,我另外想问一个问题,如果iocp 只是在nt/2000 上可以用的话,那如果用linux or unix 做服务器的话,怎么才能编写出强大的服务器端程序呀?
      

  14.   

    同意,可以自己定义,最好把WSAOverlapped 结构放在结构体的第一位置
      

  15.   

    很多iocp 封装的类都有一个buffer 类,不知道是做什么的,我不用他行不
      

  16.   

    Linux下可以用EPOLL,效率比win2k的iocp更高。