问题标签 [c-ares]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
251 浏览

c - C-Ares 回调未收到来自查询的 arg

我正在使用 c-ares 库对存储在文件中的一组域执行 dns 查找。像这样的东西。

ares_query 函数的最后一个参数是 void *arg 类型,它只是传递回回调函数。详情在这里——

上面的 ares_query 调用似乎没有通过“line”,我在回调中收到一个 NULL 变量。但是,当我用这样的文字调用它时,它似乎传递了 arg。

这两种方法有什么区别?为什么第一种方法不起作用?

0 投票
1 回答
98 浏览

node.js - 为 Win CE 构建 ares 库

我正在尝试为 Win CE 构建 c-ares 库,作为将节点 js 移植到 Windows CE 的一部分。

我在这个过程中遇到了一些阻碍。

编译 ares_platform.c 文件时出现错误:

OSVERSIONINFOEX 包含在头文件中。仍然收到此错误。

我知道 Windows CE 可能不支持某些 API,但如果原生 cares 库无法移植到 CE,我们计划实现我们的自定义代码。

所以我注释掉了检查 OSVERSIONINFOEX 的行,然后我得到了,

c-ares 需要一些依赖项吗?这个 ws2_32 库是什么意思?

有一些为 Win CE 编译的 cares 库吗?如果有人能指出我正确的资源,那就太好了。提前致谢。

0 投票
1 回答
795 浏览

c++ - 安装 gRPC:ld:警告:找不到选项“-L/”的目录/grpc/libs/opt/c-ares'

尝试使用以下命令安装 gRPC:

  1. git clone-b $(curl -L http://grpc.io/release) https://github.com/grpc/grpc
  2. cd grpc
  3. git submodule update --init
  4. make

我收到以下错误:

这就是我所拥有的

[编辑]

卸载 protobuf 并再次运行 make 后,我收到以下警告:

如果我通过执行 'sudo make install' 继续安装,则不会安装 protobuf 并且 grpc_cpp_plugin 不起作用(给出以下错误)。

[编辑]

对于 c-ares 问题,我使用 homebrew 安装了它brew install c-ares。然后安装 grpcgrpc-1.3.0.tar.gz和 protobuflibprotoc 3.2.0没有错误。但是当我make在 helloworld 示例中运行时,我收到以下错误:

谢谢

0 投票
0 回答
221 浏览

c++ - 在 select() 循环中使用多个 c-ares 通道

我是 c-ares 库的新手,我想扩展下面的示例,以便我可以同时等待多个查询完成。这是一个工作示例:

  • updateFDs()获取频道的 FD
  • updateTimeout()将超时降低到通道所需的时间
  • process()ares_process()

我可以很容易地设置select()等待多个频道,但是当select()返回时,我怎么知道要调用哪个频道ares_process

0 投票
1 回答
240 浏览

c++ - 是否可以在 C++ 中以编程方式查询不同的 DNS 名称服务器,而忽略系统设置?

对于我的任务,我需要阻止一些主机名,但由于某些网站可能会使用不同的 IP 地址回复不同的 DNS 查询(例如,Google DNS 和任何其他 DNS 服务器),我想使用不同的 DNS 服务器解析相同的主机名获取尽可能多的 IP 地址。

简而言之:我想使用 DNS #A 将“example.com”解析为 IP,并使用 DNS #B 将“example.com”解析为 IP,而不对我的网络配置进行任何重大更改(或者更好的是不进行任何更改全部)。

我看过Poco::Net::DNSc-ares,但是它们似乎都使用 OS DNS 设置并且不允许将查询指向其他 DNS 服务器(如果我错了,请纠正我)。

0 投票
1 回答
991 浏览

build - 用 c-ares 构建 libcurl

我想用 c-ares 构建 libcurl,但遇到了一个问题。

./configure --enable-ares 并获取输出:

我尝试了很多版本都不起作用。有人解决这个问题吗?

0 投票
2 回答
5282 浏览

cmake - 使用预安装的包从源代码构建 grpc

我正在尝试将 gRPC 集成到现有项目中。它已经有包含所有 gRPC 安装的依赖项(ssl、c-ares、protobuf 和 zlib)的目录。我想在构建 gRPC 时使用它们,并将 gRPC 安装到同一目录中。我下载了 gRPC 存档(没有克隆位于 grpc/third_party/ 中的子模块),并尝试生成构建系统,用于构建 gRPC 并将其安装到我的目标文件夹中(使用 cmake)。

我使用了以下命令:

并得到一个错误:

我有 1.14.0 版的 c-ares(来自https://c-ares.haxx.se/),它是使用

并且它不提供上述任何文件(c-aresConfig.cmake、c-ares-config.cmake)。

我尝试从github获取c-ares并使用cmake构建它,并且成功:安装目录中出现了请求的文件,因此成功生成了gRPC构建系统。

我的问题是:我可以在不将 c-ares 更新到 github-version 的情况下构建和安装 gRPC 吗?

如果这不能轻松完成,也许可以以某种方式禁用 gRPC 中 c-ares 的使用(改用本机 dns 解析器)?

0 投票
1 回答
748 浏览

c++ - bitbake grpc 交叉编译/配置失败并出现错误 c-ares::cares 引用文件 /usr/lib/libcares.so.2.2.0

在 open-embedded 中构建 grpc 时,我在查找 c-ares 依赖项时遇到问题。在配置期间查找依赖项 c-ares 时,日志中的错误在日志中显示为 -

--

--

问题似乎是 cmake 如何为 c-ares 配置导入前缀,在文件中配置如下 - poky/build/tmp-glibc/sysroots/arm7/usr/lib/cmake/c-ares/c-ares-目标.cmake。我相信它应该是进入目标暂存目录的路径

设置(_IMPORT_PREFIX“/usr”)

有人可以帮我确定这里的问题吗?为了获得正确的 _IMPORT_PREFIX 需要在 c-ares 配方中配置什么?任何帮助深表感谢。谢谢

0 投票
0 回答
678 浏览

linux - 在 Ubuntu 18.04 上使用 bazel 从源代码构建 Tensorflow 的 ares 链接错误

我尝试运行sudo apt-get install libc-ares-dev,它确实解决了一些依赖于 c-ares 的构建步骤,但不是这个

我从源代码构建了 c-ares 并运行make install了将 .so 放在 .solibcares.so中的位置/usr/local/lib/。我还验证了libcares确实导出了这些符号。那并没有解决任何问题。

我确保我的LD_LIBRARY_PATH包括/usr/local/lib/

如何让 bazel 找到图书馆?

先感谢您。

0 投票
1 回答
269 浏览

macos - 在 OS X 终端中运行时,aiodns 无法联系 DNS 服务器错误

以下代码片段异步获取多个公共 DNS 服务器。如果脚本在 PyCharm 中执行,它可以完美运行,并以非常少的错误解析所有给定的解析器(1078 个请求中约 14 个错误)。

但是,如果我在 OS X 终端中运行完全相同的脚本,则仅首先 ~280 个 aiodns 请求成功,其余返回 aiodns.DNSError(11, 'Could not contact DNS servers')(1078 个请求中的 ~834 个错误)。

从https://pastebin.com/wSYtzebZ复制/粘贴resolvers_short列表

此代码是我在https://github.com/MMquant/DNSweeper/blob/master/DNSweeper.py上的开源项目的一部分

我不知道如何继续调试。

这些是我正在使用的模块: