gpt4 book ai didi

c - 关于 getservbyname 的正确答案是什么?

转载 作者:行者123 更新时间:2023-11-30 21:42:28 26 4
gpt4 key购买 nike

我不知道 getservbyname 的正确答案是什么。

句子sp = getservbyname("example", "tcp")

a.客户端使用它来获取服务的端口。

b.只有当我们有权限修改/etc/services 文件时才能使用。

c.如果我们有权访问/etc/services,服务器将使用它来获取服务的端口。

d. a y b 正确。

非常感谢!

最佳答案

所有可能性的第一顺序都是错误的。这是一个糟糕的考试问题,你可以告诉你的老师我是这么说的。

(a) 是错误最少的答案。 getservbyname给定文本服务名称,可以被通用 TCP 客户端用来确定要连接到服务器的哪个端口。但是,它还有其他几种用途,而且也已过时:新程序应该使用 getaddrinfo (它同时完成 getservbynamegethostbyname 的工作,而且更加灵活)。

(b) 是完全错误的。 getservbyname 可能需要对/etc/services读取访问权限,具体取决于Name Service Switch已配置;在任何情况下都不需要对该文件的访问权限。 ( /etc/services 的内容由 IANA service name and port number registry 定义,现在唯一应该修改该文件的程序是系统管理员的文本编辑器和操作系统的包管理器。我不记得了我不知道是否有一个 C 库接口(interface)来更新该文件,但如果存在的话,它会比 getservbyname 更过时。)

(c) 部分错误;服务器可以合理地使用getservbyname来查找它应该绑定(bind)到的端口,但是,如上所述,它最多需要读取 访问 /etc/services 来执行此操作。 (在选项(b)中说“允许修改”,然后在(c)中只说“访问”是草率的问题写作技巧。)

(d) 是错误的,因为 (b) 是错误的。

关于c - 关于 getservbyname 的正确答案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48493078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com