Windows 套接字组的用途是什么?(窗口)

Windows 套接字组的用途是什么?(窗口),windows,sockets,winsock2,Windows,Sockets,Winsock2,这里介绍了如何创建套接字并将其加入套接字组(WSASocket文档) 还解释了套接字组中的所有套接字必须使用相同的协议连接到相同的主机端点。然而,我不明白我什么时候或者为什么要这样做?这有什么特别的好处吗?这项功能是否仅对客户端应用程序(如web浏览器)有用,还是我也可以在服务器中使用它?您所描述的仅适用于受约束的组。无约束组可以包含不同类型/协议的套接字 如果您进一步查看,它将解释实际使用的套接字组:“向基础服务提供商指示一组特定的套接字是相关的,并且由此形成的组具有某些属性。组属性包括组内

这里介绍了如何创建套接字并将其加入套接字组(WSASocket文档)


还解释了套接字组中的所有套接字必须使用相同的协议连接到相同的主机端点。然而,我不明白我什么时候或者为什么要这样做?这有什么特别的好处吗?这项功能是否仅对客户端应用程序(如web浏览器)有用,还是我也可以在服务器中使用它?

您所描述的仅适用于受约束的组。无约束组可以包含不同类型/协议的套接字

如果您进一步查看,它将解释实际使用的套接字组:“向基础服务提供商指示一组特定的套接字是相关的,并且由此形成的组具有某些属性。组属性包括组内各个套接字的相对优先级和组服务质量规范”

MSDN上还有其他提到套接字组的文档:

保留对套接字组的所有使用

lpGQOS[in] 保留供将来与套接字组一起使用。指向套接字组的FLOWSPEC结构的指针(如果适用)

lpfn条件[in] 一个可选的、应用程序指定的条件函数的地址,该函数将根据作为参数传入的调用方信息做出接受/拒绝决定,并通过为此函数的结果参数g分配适当的值来创建或加入套接字组

lpGQOS参数是保留的,应为NULL。(保留供将来与套接字组一起使用)引用调用者要创建的套接字组的FLOWSPEC结构,每个方向一个,后跟任何其他特定于提供程序的参数。lpGQOS的NULL值表示没有调用者指定的组服务质量。如果要进行协商,则可以返回服务质量信息

除非您在代码中实际处理QOS,否则通常不会使用套接字组