gpt4 book ai didi

c - gethostbyname() 函数返回空缓冲区

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:26 26 4
gpt4 key购买 nike

我是 Internet 编程的新手,我正在尝试使用 gethostbyname() 函数。当我向 gethostbyname 函数输入诸如“www.yahoo.com”的字符串时,它工作正常,但是当我输入一个 char 数组时,它总是返回一个空缓冲区。

  char hostname[100];
struct hostent* h;
gethostname(hostname, sizeof hostname );
printf("Hostname: %s\n", hostname);
h = gethostbyname(hostname);

知道如何解决这个问题吗?

最佳答案

您的服务器无法自行解析。 “修复”此问题的最常见方法是将其自己的名称放入其主机文件中。虽然出于各种原因这是一个好主意,但根本问题确实应该得到解决。

  1. DNS 搜索列表通常应该设置为包含主机名的域名 - 或者 - 主机名本身应该是完全限定的。
  2. 应为主机正确设置 DNS。

这使得它根本不是真正的 C 问题,而是服务器配置问题。然后关闭它。

关于c - gethostbyname() 函数返回空缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33747665/

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