首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gethostbyname说没有这样的服务是已知的。无法在指定的名称空间中找到服务。

gethostbyname说没有这样的服务是已知的。无法在指定的名称空间中找到服务。
EN

Stack Overflow用户
提问于 2022-01-13 09:46:18
回答 1查看 1.9K关注 0票数 6

Windows中的这段简单代码将导致gethostbyname打印一条恼人的调试消息。

代码语言:javascript
复制
#include <stdio.h>
#include <winsock.h>
int main()
{
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 2), &wsaData);
    hostent* he = gethostbyname("www.stackoverflow.com");
    char* ip = inet_ntoa(*(struct in_addr*)he->h_addr_list[0]);
    printf(ip);
}

上面写着:

代码语言:javascript
复制
onecore\net\netprofiles\service\src\nsp\dll\namespaceserviceprovider.cpp(550)\nlansp_c.dll!00007FFCFC1FC759: (caller: 00007FFD2856388E) LogHr(1) tid(6e14) 8007277C No such service is known. The service cannot be found in the specified name space.

我在窗户上。使用visual studio 2019。我怎么能省略呢?目前,我正在调试,因为我的日志完全填充了这条消息,很难找到想要的日志。

EN

Stack Overflow用户

发布于 2022-02-03 21:01:09

您所看到的行为似乎是由于分层服务提供者在Win11时是已弃用 (以及可能即将进行的Win10更新)。

GetHostByName被列为弃用,但GetHostName不是,而且也显示相同的行为。在这两种情况下,该方法首先查询任何可用的命名空间服务提供者,然后返回到查询NetBIOS名称(如果没有找到)。就Win11而言,枚举命名空间服务提供程序的调用似乎在内部失败,从而生成您看到的调试输出。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70694417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档