1

DNS 要求をバインドできるネットワーク インターフェイスを設定する方法はありますか。

優先度の高いストリーミング セッションを使用する必要があるプロジェクトがあり、1 つのインターフェイスを通過し、他のすべてのリクエストは 2 番目のインターフェイスを介して転送されます。

例: すべてのaresリクエストが「wlan0」ではなく「eth0」を通過するように「eth0」を設定します。

インターフェイスを設定するこのオプションを提供する c-ares (ares_init_options() API) の API を見つけることができませんでした。

これを達成する方法がある場合、または何かを見逃した場合はお知らせください。

ありがとう、アルジュン

4

1 に答える 1

1

かなり新しい c-ares (c-ares >= 1.7.4) をお持ちの場合は、ares.h を確認してください (実際に参照されているのはここだけです)。

/* These next 3 configure local binding for the out-going socket
 * connection.  Use these to specify source IP and/or network device
 * on multi-homed systems.
 */
CARES_EXTERN void ares_set_local_ip4(ares_channel channel, unsigned int local_ip);

/* local_ip6 should be 16 bytes in length */
CARES_EXTERN void ares_set_local_ip6(ares_channel channel,
                                     const unsigned char* local_ip6);

/* local_dev_name should be null terminated. */
CARES_EXTERN void ares_set_local_dev(ares_channel channel,
                                     const char* local_dev_name);
于 2011-10-03T16:59:30.667 に答える