有的Windows SOCKET函数是异步方式,有的是同步方式,它们的含义是什么?

解决方案 »

  1.   

    都是说的 tcp 连接,同步?阻塞模式吧,就是发出数据之后一直等着对方回应后
    才从函数返回,异步模式就是发出数据后立刻返回,是否发送成功需要再调select
    判断,这个好处是自己可以做一些控制。
    异步方式还分好些种.
      

  2.   

    同步就是函数要一直等待运行结果返回,如果没有,就一直处于等待状态,如同SendMessage函数,异步就是执行后立即返回,如同PostMessage
      

  3.   

    阻塞和非阻塞方式:阻塞: 当调用一个 socket 函数时,程序倒停在这里, 直到该函数操作完成.一般可以根据返回值得知操作是成功还是失败了.非阻塞: 当调用一个 socket 函数的时候,函数立刻返回,通常会返回 SOCKET_ERROR, 但这时并不一定代表操作失败了,而是要 WSAGetLastError 来取错误代码,如果错误代码是WSA_IO_PENDING,.说明操作在进行之中,并没有失败,.只不过还没有完成罢了.
      

  4.   

    天啊 异步只能说是属于非阻塞的 与非阻塞不是一个概念
    非阻塞是指用Recv接受数据的时候该函数立即返回
    而异步是通过WSAAsyncSelect将Sock接受到的数据转为Win32的窗口消息传递给程序处理 这样做的好处是在大量连接的时候避免使用或少量使用多线程进而减少系统开销 因为有Win32 HWND的参于所以该模型只适用与WinSock
      

  5.   

    我理解的不管是TCP还是UDP都有同步、异步的操作方法!
    我现在也在学习这一块内容!希望哪位兄弟把异步操作的范例代码贴一个上来哦,也好参考参考阿!