请问 ServerSocket 的 servertype 的stNonBlocking 和 stThreadBlocking 有什么区别?????? 它们的作用是什么???

解决方案 »

  1.   

    根据Socket运行方式的不同可以把Socket分为两类阻断型(stThreadBlocking)和非阻断型(stNonBlocking).阻断型Socket在运行中,应用程序调用了Socket接口函数后,函数并不马上返回,一直要到相应的操作完成才返回,这期间应用程序处于等待状态.这种运行方式适合需要同步通信的应用程序.非阻断型Socket在运行中,Socket接口函数调用后立即返回应用程序可以进行别处的工作,但此时相应的Socket操作并不一定完成.当操作确实完成时,应用程序可以收到相应的消息,根据收到的消息再进行处理.这种运行方式适合异步通信应用程序.相较而言,非阻断型Socket效率比较高,但编程比较复杂,并要求有相应系统软件的支持.而阻断型Socket编程比较简单,效率低一些.大多数情况下都应该用非阻断型Socket.
      

  2.   

    DELPHI 本身带的控件 Indy就是阻塞模式的