什么是 getservbyname() — 我理解正确吗?

1 c sockets port

我真的不知道在getservbyname(). 我读到,如果我提供名称和协议(例如 TCP),我会返回一个包含信息的结构体到服务器,但是我应该在那里写什么?

所以,例如, getservbyname("www.google.com", "tcp")

这是错误的,但需要在第一个参数中包含什么才能获取,例如,来自 Google 或其他网站的端口,或者我理解这完全错误吗?

zwo*_*wol 7

getservbyname从此列表中查找服务名称并返回端口号。“http”是您可以在此表中查找的服务名称示例。

www.google.com主机名,而不是服务名。gethostbyname查找主机名并为您提供 IPv4 地址;要连接到 Google 的网络服务器,您需要它的地址以及服务的端口号。现在通常最好同时进行两次查找,使用getaddrinfo,它也可以无缝处理 IPv6。