CSADDR_INFO 结构 (ws2def.h)
CSADDR_INFO 结构包含套接字、网络服务或命名空间提供程序的 Windows 套接字地址信息。
语法
typedef struct _CSADDR_INFO {
SOCKET_ADDRESS LocalAddr;
SOCKET_ADDRESS RemoteAddr;
INT iSocketType;
INT iProtocol;
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;
成员
LocalAddr
类型: SOCKET_ADDRESS
Windows 套接字本地地址。
在客户端应用程序中,将此地址传递给 绑定 函数以获取对网络服务的访问权限。
在网络服务中,将此地址传递给 绑定 函数,以便将服务绑定到相应的本地地址。
RemoteAddr
类型: SOCKET_ADDRESS
Windows 套接字远程地址。
此远程地址有多种用途:
- 可以使用此远程地址通过 connect 函数连接到服务。 如果应用程序执行涉及面向连接的协议的 发送/接收 操作,这非常有用。
- 通过无连接 (数据报) 协议进行通信时,可以将此远程地址与 sendto 函数配合使用。 如果使用无连接协议(如 UDP),则 sendto 通常是将数据传递到远程系统的方式。
iSocketType
类型: INT
Windows 套接字的类型。 套接字类型的可能值在 Winsock2.h 头文件中定义。
下表列出了 Windows 套接字 2 支持的可能值:
Value | 含义 |
---|---|
|
流套接字。 这是一种以字节流的形式发送数据的协议,没有消息边界。 此套接字类型提供具有 OOB 数据传输机制的连续、可靠、双向、基于连接的字节流。 此套接字类型对 Internet 地址系列 (AF_INET 或AF_INET6) 使用传输控制协议 (TCP) 。 |
|
数据报套接字。 此套接字类型支持数据报,这些数据报是固定 (通常较小) 最大长度的无连接、不可靠缓冲区。 此套接字类型对 Internet 地址系列 (AF_INET 或AF_INET6) 使用用户数据报协议 (UDP) 。 |
|
可靠的消息数据报套接字。 此套接字类型保留数据中的消息边界。 此类型的一个示例是 Windows 中的实用常规多播 (PGM) 多播协议实现,通常称为 可靠多播编程。 |
|
已排序的数据包流套接字。 此套接字类型提供基于数据报的伪流数据包。 |
iProtocol
类型: INT
使用的协议。 协议参数的可能选项特定于指定的地址系列和套接字类型。 可能的值在 Winsock2.h 和 Wsrm.h 头文件中定义。
在针对 Windows Vista 及更高版本发布的 Windows SDK 上,头文件的组织已更改,此参数可以是 Ws2def.h 头文件中定义的 IPPROTO 枚举类型的值之一。 请注意, Ws2def.h 头文件会自动包含在 Winsock2.h 中,永远不应直接使用。
下表列出了 协议 的常见值,尽管许多其他值是可能的。
注解
GetAddressByName 函数使用CSADDR_INFO结构获取 Windows 套接字地址信息。
使用 SO_BSP_STATE 套接字选项调用的 getsockopt 函数检索指定套接字的CSADDR_INFO结构。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | ws2def.h (包括 Nspapi.h) |