2010-12-03 7 views
1

私はgccのバージョン4.2.1(されたApple Inc.のビルド、ZeroMQ C++マルチスレッド・サーバーの例ランタイムエラー

OS X 10.6.5を使用して
$ g++ server.cpp -lpthread -lzmq -o server -Wall 

で罰金のビルドZeroMQ multithreaded C++ server exampleを実行しようとしています5664)、zeromq2の最後のマスターブランチ(12月1日)。しかし、私は

terminate called after throwing an instance of 'zmq::error_t' 
what(): Operation not supported by device 

私は(./serverで)サーバを起動した直後に、ランタイムエラーを取得していなくなった現在のブログ上で提供されているコードですか?または、私は誤った設定をしていますか? ZMQは、このマシン(単純なリクエスト/応答ソケットパターン)では、私にとってはうまく動作しているようです。

答えて

1

ばかげた。 "tcp://localhost:5555"は失敗しますが、"tcp://127.0.0.1:5555"は正常に動作します。

アップデート1:

/etc/hostsはので、私はそれが問題だとは思わないlocalhostのためのエントリがあります。私はまた、tcp://lo:5555を使って成功しなかった。

+0

ホストファイルはどのように見えますか?最近のいくつかのLinuxディストリビューションでは、ホストファイルにlocalhostのエントリがないのがわかりましたが、代わりにlocalhost-localdomainのエントリがあります。したがって、localhostは解決されません。 – stonemetal

+0

私はそれが 'tcp:// lo:5555'だと思っています。 –

+0

これはZeroMQのバグです。私は同じことを打ち、ZeroMQをたどってきました。ホスト名をネットワークインターフェイス名として解決しようとしていますが、失敗しています。私は図書館をすばやく変更しました。これは機能しているように見え、ZeroMQの人々に投稿します。 – atrn