繁体   English   中英

什么是“提示”对套接字编程中的addrinfo名称意味着什么

[英]What's the “hints” mean for the addrinfo name in socket programming

在进行套接字编程时,人们总是将addrinfo结构命名为:

struct addrinfo hints;
// get ready to connect
status = getaddrinfo("www.example.net", "3490", &hints, &servinfo);

我想知道它代表什么,以更好地理解结构。

提前致谢。


谢谢你的回答。 也许我不清楚:

我想知道变量名称“hints”是否是某些单词的缩写? 或者,如果单词“提示”意味着它只提供一些地址信息,让getaddrinfo()函数填写其余的?

FreeBSD手册页

hints是指向struct addrinfo的可选指针,由<netdb.h>定义...此结构可用于提供有关调用者支持或希望使用的套接字类型的提示。

它被称为“提示”,因为它可以用来提供提示(在提示的意义上;提示可能有用但可以忽略)。 这表示调用者想要的协议族(例如IPv4与IPv6),什么套接字类型(数据报与straming),什么协议(TCP与UDP)等等。您可以为hints传递NULL ,从而表示您不关心您获得的协议族,套接字类型或协议。

来自http://linux.die.net/man/3/getaddrinfo

hints参数指定首选套接字类型或协议。 NULL提示指定任何网络地址或协议都是可接受的。 如果此参数不为NULL,则它指向addrinfo结构,其ai_family,ai_socktype和ai_protocol成员指定首选套接字类型。 ai_family中的AF_UNSPEC指定任何协议族(例如,IPv4或IPv6)。 ai_socktype或ai_protocol中的0指定任何套接字类型或协议也是可接受的。 ai_flags成员指定了下面定义的其他选项。 通过逻辑或将它们组合在一起来指定多个标志。 hints参数中的所有其他成员必须包含0或空指针。

struct addrinfo hints; 只是一个变量声明。 结构本身在库中定义,并通过sys/socket.h包含。

它指的是英文单词“hints”所指的相同含义。 不是缩写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM