WSASocket()
创建一个与指定传送服务提供者捆绑的套接口,可选地创建和/或加入一个套接口组。
此函数为socket()的扩展版本,其功能都是创建一个原始套接字。使用时需要包含
winsock2.h 头文件和链接ws2_32.lib库。
基本信息
- 中文名
创建一个与指定传送服务提供者捆绑的套接口
- 外文名
WSASocket
- 原版
socket
- 头文件
winsock2.h
定义
SOCKET WSASocket (intaf,inttype,intprotocol,LPWSAPROTOCOL_INFOlpProtocolInfo,GROUPg,DWORDdwFlags);
参数说明:
af:[in]一个地址族规范。仅支持AF_INET格式,亦即ARPA Internet地址格式。
type:新套接口的类型描述。
protocol:套接口使用的特定协议,如果调用者不愿指定协议则定为0。
lpProtocolInfo:一个指向PROTOCOL_INFO结构的指针,该结构定义所创建套接口的特性。如果本参数非零,则前三个参数(af, type, protocol)被忽略。
g:保留给未来使用的套接字组。套接口组的标识符。
iFlags:套接口属性描述。
返回值
若无错误发生,WSASocket()返回新套接口的描述字。否则的话,返回 INVALID_SOCKET,应用程序可定调用WSAGetLastError()来获取相应的错误代码。
错误代码
WSANOTINITIALISED 在调用本API之前应成功调用WSAStartup()。
WSAENETDOWN 网络子系统失效。
WSAEAFNOSUPPORT 不支持指定的地址族。
WSAEINPROGRESS 一个阻塞的WinSock调用正在进行中,或者服务提供者仍在处理一个回调函数
WSAEMFILE 无可用的套接口描述字。
WSAENOBUFS 无可用的缓冲区空间。套接口无法创建。
WSAEPROTONOSUPPORT 不支持指定的协议。