3

ZeroMQソケットをglibプログラムに追加したかったのです。

落とし穴は、zmqソケットは対応できずpoll()、古い関数をオーバーロードする実装を提供することpoll()です。それをメインループに効率的に統合するにはどうすればよいですか?zmq_poll()デフォルトのものの代わりに彼らのpoll()を使用しようとしましたが、それを.にする以外に、それにzmqソケットを与える良い方法はありませんglobal

新しい定義はGSource機能しますが、CPU使用率が高くなる(設定するtimeout = 0)か、任意のポーリングタイムアウト(たとえばtimeout = 100、少なくとも100ミリ秒ごとにポーリングされるように設定する)が発生する可能性があります。これは、ポーリングの可能性があるため、実際には効率的ではありません。

4

2 に答える 2

1

FAQによると、「他の方法」のアプローチを試すことができます。zmqソケットを作成するpollのではなく、通常のソケットを試してください。zmq_poll()

質問を確認してくださいØMQソケットを通常のソケットと統合するにはどうすればよいですか?またはGUIイベントループを使用しますか?FAQで。

于 2011-07-15T21:47:01.957 に答える
1

新しいzmqライブラリがパラメータをサポートしていることがわかりました。これにより、UNIXを返すことができます。唯一の注意点は、それが可能かどうか、または/から/への移行を知ることはできないということですが、実際のステータスを取り戻すにはパラメータを使用する必要があります。ZMQ_FD getsockopt()fdpoll()poll()recv()send()ZMQ_EVENTS getsockopt()fd

glibでは非常にうまく機能しているようです。

于 2011-07-19T21:20:55.670 に答える