SPI:service provider interface,winsock2服务提供者接口。
SPI是应用程序使用的服务,本身不是应用程序,作用是向加载这个服务的应用程序导出自己。
SPI由两个部分组成:传输服务提供者transport service provider 命名空间服务提供者 name space providers
1 传输服务提供者:
提供建立连接,传输数据,行使流控制,出错控制服务
两种类型: 分层的,基础的
基础服务提供者:BSP:实现传输协议真正细节,导出winsock接口,直接实现协议
分层服务提供者:LSP:截取来自应用程序的winsock API调用。实现更高层的定制通信函数,依靠现存的底层基础提供者来与远程终端做实际的数据交换。
2 命名空间提供者:
与分层服务提供者类似,截获名称解析winsock API调用。在命名空间目录安装自己,当应用程序执行名字解析时将会被调用。