2

ホスト名表現を使用して、時々発信接続を開く epoll サーバーがあります。getaddrinfo()着信接続フローのレートが高いため、やのような場所をブロックしたくありませんgethostbyname()。確かに、ホスト名の解決が実行されるキャッシュと新しいスレッドを実装できます。ホスト名を IP に解決するシングルスレッドのノンブロッキングの方法はありますか?

4

1 に答える 1

1

この目的のために、さまざまなライブラリーがあり、例えばlibevent、リゾルバーが含まれています。

私は@Puciekに同意しますが、これを単一のスレッドで行うと、疑わしい利点のためにかなりの複雑さが追加されます。専用の解決スレッドを使用し、パイプを介して通信することが最善の解決策である可能性があります。

あなたが言及しているのでepoll、Linuxを使用していると思います。getaddrinfo_a私が正しく理解している場合、これの一部を実行する機能があります。スレッドを複製し、そこで getaddrinfo を実行します。私はそれを使用したことがないので、それ以上のことはできません。

于 2014-07-09T08:50:21.050 に答える