ZMQ (2.2) を主要な通信層として使用するプラットフォームを開発してきました。今週初めに、zeromq Web サイトのアドバイスを受けて、最新の安定ビルド 3.2.2 にアップグレードすることにしました。
しかし、新しい API への更新に苦労した後、Windows XP (SP3) マシンで libzmq ライブラリをロードできないという clrzmq バインディングに問題があるように見えることを発見して、非常に失望しました。SEHException 例外が発生し続けますか?!
誰かが同じ問題を抱えているかどうか、そしてそれに対する回避策(またはさらに良い修正)があるかどうか疑問に思っていましたか?
乾杯 :)
EDIT 明確にするために、ライブラリは正常にロードされています。これは、コンテキストが問題なく作成されているためです。この問題は、コンテキストで CreateSocket メソッドが呼び出されたときに発生します...以下のコード スニペットを参照してください
ZmqContext context = ZmqContext.Create();
ZmqSocket socket = context.CreateSocket(SocketType.REQ);
Jakob の提案に従ってトレースを追加すると、次の出力が得られます
Assertion failed: Connection refused (..\..\..\src\signaler.cpp:310)
これは何を意味するのでしょうか?
EDIT また、この問題はすべての XP マシンで発生するわけではなく、一部のマシンでのみ発生することにも言及する必要があります。動作するマシンと動作しないマシンの違いを理解しようとしています。これを知らなければ、アップグレードして本番環境にリリースするのは非常に危険です。