换个方式理解WinSock服务提供者接口(Service Provider Interface,SPI)

一、概述

WinSock服务提供者接口(Service Provider Interface),简称SPI。我们把名称分为两部份理解:

1.WinSock服务提供者。指由用户编写的WinSock功能扩展,可以理解为WinSock插件。

2.接口。是指接入规范和入口,可以理解为WinSock的插件机制。

两者结合起来就是WinSock服务提供者接口(SPI)。

简单来说,这是WinSock内置的,方便第三方开发人员拓展WinSock功能的插件机制。

二、SPI用途

WinSock本身是为了方便开发人员开发网络通信程序,而网络通信有多种通信协议,如TCP、UDP、FTP等等。这些协议都安装到WinSock目录,我们通过WinSock编程时,仅需要简单的传入字符串就能实现对应协议调用。

如:SOCKET sListen = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

现实情况是网络通信协议有很多,而且还有新的协议源源不断地开发出来,而且程序员在一些时候需要深入到WinSock内部实现对网络通信的深入控制。因此,给WinSock添加一个能不断拓展新功能的插件机制就很有必要性了。

SPI主要用途有两方面:

1.在WinSock中添加新的服务或协议。比如新的网卡驱动,比如开发人员开发的新通信协议。

2.在已有的通信协议之上添加我们的新功能。比如网络嗅探器、网速监视器、防火墙等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值