問題タブ [nanomsg]
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.
gcc - Windows 7 で mingw-w64-x86_64 gcc ツールチェーンを使用した cmake エラー:「このプログラムはプラグイン サポートなしでビルドされました」
Windows 7、MSYS2、Mingw-w64-x86_64 gcc ツールチェーン、CMakeをセットアップしており、 nanomsg ライブラリをビルドしようとしています。
ここに私が得るものがあります:
$ cmake --debug-trycompile -DCMAKE_TOOLCHAIN_FILE=../toolchain_i686-pc-mingw32.cmake -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32 -G "MinGW Makefiles" ../nanomsg
-- C コンパイラの ID は GNU 4.8.2 です -- C コンパイラの動作を確認します: C:/mingw64/bin/x86_64-w64-mingw32-gcc.exe -- C コンパイラの動作を確認します: C:/mingw64/bin/ x86_64-w64-mingw32-gcc.exe -- C:/cmake-win32-x86/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 で壊れた CMake エラー (メッセージ): C コンパイラ "C:/mingw64/ bin/x86_64-w64-mingw32-gcc.exe」では、簡単なテスト プログラムをコンパイルできません。
次の出力で失敗します。
ディレクトリを変更: C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp
ビルド コマンドを実行します:C:/mingw64/bin/mingw32-make.exe
"cmTryCompileExec910276652/fast"C:/mingw64/bin/mingw32-make.exe -f
CMakeFiles\cmTryCompileExec910276652.dir\build.make
CMakeFiles/cmTryCompileExec910276652.dir/buildmingw32-make.exe 1 : ディレクトリ
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp' に入るC:\cmake-win32-x86\bin\cmake.exe -E cmake_progress_report
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\CMakeFiles 1C オブジェクト
のビルド CMakeFiles/cmTryCompileExec910276652.dir/testCCompiler.c.objC:\mingw64\bin\x86_64-w64-mingw32-gcc.exe -o
CMakeFiles\cmTryCompileExec910276652.dir\testCCompiler.c.obj -c
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\ testCCompiler.cC 実行可能ファイル cmTryCompileExec910276652.exe のリンク
C:\cmake-win32-x86\bin\cmake.exe -E cmake_link_script
CMakeFiles\cmTryCompileExec910276652.dir\link.txt --verbose=1C:\cmake-win32-x86\bin\cmake.exe -E remove -f
CMakeFiles\cmTryCompileExec910276652.dir/objects.ax86_64-w64-mingw32-gcc-ar cr
CMakeFiles\cmTryCompileExec910276652.dir/objects.a
@CMakeFiles\cmTryCompileExec910276652.dir\objects1.rsp申し訳ありません - このプログラムはプラグインのサポートなしでビルドされています
CMakeFiles\cmTryCompileExec910276652.dir\build.make:91: ターゲット 'cmTryCompileExec910276652.exe' のレシピが失敗しました
mingw32-make.exe 1 : * [cmTryCompileExec910276652.exe] エラー 1
mingw32-make.exe 1 : ディレクトリ
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp' を離れますMakefile:116: ターゲット 'cmTryCompileExec910276652/fast' のレシピが失敗しました
mingw32-make.exe: * [cmTryCompileExec910276652/fast] エラー 2
CMake は、このプロジェクトを正しく生成できません。コール スタック (最新の呼び出しが最初): CMakeLists.txt:29 (プロジェクト)
ここに私のツールチェーンファイルがあります:
ツールチェーンにプラグイン サポートがないため、自動テストでのビルドに失敗したようです。
これが私のgccバージョンとオプションです:
- 「--enable-plugin」オプションに関連していますか(私のgccにはありません)?
- このオプション セットで利用可能なツールチェーン ビルドはありますか? MSYS2、Mingw-w64、ruvenvb リポジトリで探しましたが、ありません。それとも自分で作ろうか?
- おそらく nanomsg はそれを必要としませんか? nanomsg が必要とするため、autotest はそれを必要としますか? または、この自動テストが実行されないようにすることはできますか? または、「--enable-plugins」オプションの必要性を回避するために何かを設定できますか?
zeromq - Kafka への ZeroMQ / 0mq または nanomsg バインディング?
Fred Georgesがマイクロサービス アーキテクチャについて語っている中で、彼は Kafka を高速バス (彼は急流と呼んでいます) として使用し、複数の0mqインスタンス (川と呼んでいます) をそれに接続することに言及しています。これのスライドはここで見ることができます。
このバインディングを最適に実装する方法を共有できますか?
go - Internal server based on nanomsg
I'm learning nanomsg and zeromq these days with Golang binding. I've tested with Req-Rep which can work, but is it a proper idea to use this mechanism to build reliable internal server for serving data under high concurrent requests (but from limited client sources < 30)?
Some pseudo code may looks like,
How to achieve similar communication pattern in nanomsg? Is there any example (C is ok) available?
====UPDATE====
Sorry the question looks too broad. The most important question for me is, "Is there any workable Req/Rep example (C is ok) around?"
kernel - カーネル空間での nanomsg の使用
nanomsg
カーネル空間内での使用の実現可能性を検討しています。nanomsg
アイデアは、カーネルプロセス/スレッドがソケットを介してローカル (ユーザー空間) および/またはリモートソケットにメッセージを送受信することnanomsg
です。
これは「箱から出してすぐに」機能しないと思い、ヒント/ヒントを探しています。
これは可能ですか?たとえば、誰かがlibnanomsg
FreeBSD で使用するために .ko をビルドしようとしたことがありますか?
linux - nanomsg ソケット ライブラリで各クライアント接続を区別する方法
nanomsgライブラリを使用しています
int sock = nn_socket (AF_SP, NN_PAIR);
assert (nn_bind (靴下、URL) >= 0);
クライアントが接続した場合、サーバー内の各接続を区別する方法を知りたいです。
通常の Linux TCP ソケットでは、接続が受け入れられるたびに新しいソケット fd を取得します。nanomsg でそのようなことを期待しています。
以下のリンクで使用しようとしています-ペア(双方向ラジオ)
http://tim.dysinger.net/posts/2013-09-16-getting-started-with-nanomsg.html
c# - C# クライアントから nanomsg ソケットに接続できますか?
私はnanomsgを試しています。
.NET の Socket クラスを使用してクライアントから nanomsg ソケットに接続することは可能ですか? さらに言えば、別の nanomsg クライアント以外のソケット ライブラリを使用することはできますか?
これを行うためのオンライン チュートリアルや例はありますか?
たとえば、nanocat を使用して、ソケットをポートにバインドします。次に、C# .NET からソケットへの接続を試みます。
c - Nanomsg TCP ハンドシェイク
これは Arduino のセクションにも投稿しましたが、この問題は、おそらく Arduino の問題ではなく、nanomsg と一般的な接続に関する私の無知が原因であると考えられます。
nanomsgを使用して、Arduino を使用するポートで TCP 経由で通信するサーバーと通信しようとしています。私はさまざまな構成を試みました(さまざまなnanomsgツールを使用して、arduinoにリモート接続し、arduinoをサーバーに接続します)。
サーバーモードで(WiFiWebServerの例の非常にわずかに変更されたバージョンを実行して)Arduinoを取得して、catを使用して送信したテキストを正常に読み取ることができます
ただし、すべての構成で、nanomsg を使用して送信しようとしているテキストに関係なく、常に同じ数字の文字列を取得します。arduino からバイトを 16 進数として出力すると、0 53 50 0 0 51 0 0 になります。Nanocat (nanomsg の単純なコマンド ライン ツール) は、送信してシャットダウンする代わりにハングします (送信する前に常に接続を確認しようとしているように)。データ)。
クライアントが接続し、それらのバイトを読み取り、シャットダウンして再起動するため、これはArduinoが失敗しているある種のハンドシェイクであると想定しています。両端 (ローカル コンピューターからサーバーまで) で nanomsg を使用しても問題なく動作します。
これらの数字が握手である場合、どうすればそれを完了することができますか?
Arduinoコードのループ部分の肉は
そして、接続しようとするとハングする nanocat コマンドは
multithreading - GTK と nanomsg のスレッドに適したメインループ
複数のソースからのメッセージを待っている間にブロックするメイン ループを作成するにはどうすればよいですか? 私が理解しているように、イベント処理ループを記述する好ましい方法は、イベントを待っている間にブロックすることです。
ただし、メッセージが複数のソースから送信される可能性がある場合、ブロックを正しく処理するにはどうすればよいでしょうか?
ユーザー入力イベントと nanomsg 経由で送信されたメッセージの両方に応答する GTK GUI を書きたいと思います。
GTK では、 を呼び出すgtk_main()
か、ブロックしない方法で を使用して、そのイベントを処理できますgtk_main_iteration_do (FALSE)
。
Nanomsg は、メッセージをポーリングするだけでなく、ブロッキング モードまたは非ブロッキング モードでメッセージを受信できます。
ソースが最初に利用可能な「ブロック解除」を入力するまで、何らかの方法でブロックすることは可能ですか? sleep
つまり、すべてのイベントに応答し続けるものを使用する代替手段はありますか?
python - Pythonのnanomsgの調査回答者パターン
調査員の回答パターンを書こうとしています。しかし、それはエラーをスローします:
nanomsg.NanoMsgAPIError: この状態では操作を実行できません
このパターンを Python で実装するにはどうすればよいですか?
c - クライアント接続の数をスケーリングするには、nanomsg または ZeroMQ が適切ですか?
一種のインスタント メッセージング システムを構築する必要があります。私の簡単な調査によると、ZeroMQ と nanomsg は、100K を超えるエンド ユーザー クライアント接続を同時に管理するのではなく、バックエンド分散システムでのサーバー間通信を目的としています。それは正確ですか?もしそうなら、クライアントの数に応じて適切に拡張できる、C の優れたメッセージ パッシング ライブラリはありますか? メッセージは、サーバー -> クライアントのプッシュとクライアント -> サーバーの要求/応答の混合になります。