問題タブ [zeromq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tcp - 一元化されたフォワーダーなしでメッセージをブロードキャストするZeroMQ
一元化されたフォワーダーなしでZeroMQでメッセージをブロードキャストする方法はありますか?フォワーダーは、単一障害点のように私には思えます。
objective-c - iPhone で使用するための zeroMQ (0MQ) のコンパイル
iPhone で使用する zeroMQ 用の Objective-C バインディング ( https://github.com/jeremy-w/objc-zmq )をコンパイルしようとしています。
「objc-zmq」プロジェクトを、それを含めたいプロジェクトへの依存関係として追加しました。すべてがコンパイルされますが、libzmq.a バイナリにリンクされていないため、シンボルが見つかりません。
iPhone で使用するために libzmq.a をコンパイルするにはどうすればよいですか。また、それを取得したら、プロジェクトをそれにリンクするにはどうすればよいですか?
この投稿からの提案のいくつかを試しました: iPhone 用の C ライブラリをコンパイルします。
しかし、これらは私にとってかなり無益でした。どんな助けでも大歓迎です。
python - IPC 経由でメッセージを受信するための ZeroMQ Python バインディングを取得できません
PUB/SUB over IPC を実現しようとしています。サブスクライバーが「tcp://*:5000」にバインドし、パブリッシャーが「tcp://localhost:5000」に接続するように以下のコードを変更すると、動作しますが、IPC 経由で動作させることはできません。私は何を間違っていますか?
サブスクライバー.py
出版社.py
.net - ZeroMQ PUSH/PULL と失われたメッセージ
私は .NET から ZeroMQ を利用していますが、奇妙な問題を修正しようとして行き詰まりました。タイプ PUSH のソケットと、タイプ PULL over TCP のソケットがあります。クライアントが切断されても、サーバーは引き続きメッセージを送信できます (Socket.Send メソッドにフラグが渡されないことに注意してください)。これは、ブロックを開始し、クライアントが再接続してメッセージを配信するのを待つ前に完全に取得されます。後に送信します。
メッセージが失われないようにするにはどうすればよいですか (または、最悪の場合、クライアントが接続されているかどうかをテストし、そうでない場合は、失われても差し支えないダミー メッセージを送信します)。
前もって感謝します!
編集:さらにテストすると、クライアントによる切断後に最初のメッセージを送信してから1秒待つと、2番目のメッセージがブロックされることがわかりますが、まったく待たなければ、必要なだけメッセージを送信できます。すべて迷う。それはかなり紛らわしいです...
windows - Windows で TCP ポートを予約する
ランダムなポート番号を割り当てるときに、Windows が誤って同じ番号を使用しないように、TCP ポートを予約して後でサービスにバインドしたいと考えています。レジストリと再起動によってこれが可能であることは知っていますが、そのような手間のかかる解決策は避けたいと思います。
プロセスがポートを実際にバインド/リッスンせずに予約し、要求に応じて安全に (つまり、競合状態を回避して) ポートを別のプロセスに渡すにはどうすればよいでしょうか?
ポート番号は事前に決定する必要はありません。最初のプロセスがランダムなポート番号を取得し、それを要求プロセスに渡すことは問題ありません。
編集:私の質問がやや不十分に述べられていることが私には起こります。私が本当に望んでいるのは、動的ポート番号の割り当てをポート 0 へのバインド操作から分離することです。これは、そのポート番号の偶発的なランダム割り当てを回避するだけでなく、その間に他のプロセスが同じアドレス/ポートにバインドするのを防ぐことも意味します。別の言い方をすれば、1 つのプロセスがポート 0 へのバインド操作を開始し (使用されるポート番号をすぐに学習し)、指定された 2 番目のプロセスが後でバインド操作を完了できるようにすることです。
現時点で、私が考えることができる最も近い回避策は、最初のプロセスが address/0 にすぐにバインドし、2 番目のプロセスがそれを要求するまでバインドされたままにすることです。取得され、アドレス/ポートに明示的にバインドされます。これには 2 つの問題があります。2) 第三者が偶発的に (または故意に) ポートを乗っ取る可能性があるわずかな時間間隔があります。
バックグラウンド
なぜ私がそんなに奇妙なことをしたいのか、あなたは興味があるかもしれません. 私は ZeroMQ をいじくり回してきましたが、主な制限の 1 つは、ipc://
Windows にトランスポートがないことです。ポート マッパー プロセス (RPC エンドポイント マッパー、または Erlang の epmd に似ています) はtcp://
、動的ポート割り当てを伴うトランスポートを使用して回避策を実装するためのチケットにすぎないことに気づきました。ただし、ZeroMQ クライアントとサーバーは順不同で接続することが許可されているため (つまり、サーバーがバインドする前にクライアントが接続することはエラーではありません)、接続しているクライアントがどのように検出できるかを理解しようとしています。確実性の高さ — サーバーが実際にそのポートにバインドする前に、通信に使用されるポート。
load-balancing - zeromqはどのように負荷分散の順序を決定しますか?
ドキュメントには、接続されたピア間でロードバランシングを使用するソケットタイプが説明されていますが、ロードバランシングがどのように行われるかについては説明されていません。それが決定論的であるかどうか、もしそうなら、それが何に基づいているのか(接続された順序、アドレスに基づく、いくつかの内部ハッシュなど)に興味があります。
ruby-on-rails - 関数'zmq_getsockopt'が[libzmq.so]に見つかりません
Railsアプリケーションの実行レーキ中に次のエラーが発生しました「関数'zmq_getsockopt'が[libzmq.so]に見つかりません」
誰かがこれを解決する方法を知っていますか?ありがとう
私はUbuntu10.10を使用しています。
.net - .NET を使用した高速ファイル転送
.NET で可能な限り最速の方法で、(インターネットを使用して) 1 つのサーバーから複数のクライアントにファイルを転送する必要があります。ファイルを非常に短時間で送信するために .NET または VB.NET で使用できるさまざまなタイプの転送プロトコルは何ですか? FTP を使用してみましたが、認証やハンドシェークなどが必要なため低速です。知りたいのは、サーバーと複数のクライアント間で可能な限り高速な方法でファイルを送信するための .NET のオプションです。zeromq のようなライブラリを使用できますか?
sockets - zeromq は SSL とどのように連携しますか?
アプリケーション間のメッセージング層として zeromq を使用することを検討しています。少なくとも場合によっては、通信を安全にしたいので、SSL について考えています。
zeromq を ssl で有効にする標準的な方法はありますか? 私が理解している限り、そのままではサポートされていません。
ソケットに接続するときにパラメーターがあればいいのですが (bool: useSsl) :)
何か案は?