問題タブ [unix-socket]
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.
mysql - MySQL に UNIX ソケットのみを使用させる
MySQL サーバーで UNIX ソケットのみを使用し、TCP ネットワークを無視するようにしたいので、次の行を構成に追加しました/etc/my.cnf
。
しかしnetstat
、MySQL がまだ TCP ポート 3306 を使用していることを示してください。
c - Telnet 処理 wc およびキーボードからの入力を読み取るコマンド
私はUNIXが初めてで、C言語を使用したプログラミングは初めてです。
私がやりたいのは、 の簡単な実装ですtelnet
。
両側(サーバーとクライアント)で必要なすべての接続を行いました。
サーバー上: 受け取ったすべてのリクエストをfork
処理するための新しいプロセス
クライアント側からのコマンドを処理するためのこのメソッド:
このプログラムはどのコマンドでも正常に実行されますが、クライアントが次のようなコマンドを書き込むと、wc, cd, bash (to run any other shell)
. プログラムが停止しています。
これは、接続がセットアップされた後のクライアント側です。
c - データグラムを使用した並行サーバー
クライアントは2つの文字列をサーバーに送信する必要があり、サーバーは文字列をクライアントに返送し、クライアントを並行して処理する必要があります。2つのエンティティは、Unixでデータグラムを使用してデータを交換します。私の問題は、スレッドを使用すると、データをクライアントに送り返すことも、読み取ることもできないことです。また、スレッドを使用しなくても、クライアントに適切にメッセージを送信できません。
サーバーは次のとおりです。
エラーはrecvを示しています:非ソケットでのソケット操作
最後のperror()
ショーはsend:非ソケットでのソケット操作です。これにより、クライアントはサーバーからの文字列を無限に待機します。
コンソールに表示される内容:
そして、クライアントは次のとおりです。
c - Unix ドメイン ソケット クライアントが接続しない
「The Linux Programming Interface」を読んで、ソケット、特に UNIX ドメイン ソケットについて学びました。いくつかの一般的な概念を説明している第 56 章を読み、第 57 章のクライアント/サーバーの例を実装しようとしています。
サーバー コードは正常に動作しているように見えますが、クライアントに接続しようとすると、呼び出しがconnect()
失敗します。
サーバーコードは次のとおりです。
クライアントコードは次のとおりです。
サーバーを実行すると、次のように表示されます。
クライアントを実行すると、次のように表示されます。
誰かがこれで私を助けることができれば、私はとても感謝しています.
zeromq - 0mq (zeromq) ipc ソケットを介してファイル記述子を渡すことはできますか?
マスター プロセスと複数のワーカーがあり、0mq 'ipc://' ソケット (UNIX ドメイン ソケット) を使用して通信しています。メッセージとともに、ファイル記述子をマスターからワーカーに渡したいと考えています。「生の」UNIX ドメイン ソケットを使用して、あるプロセスから別のプロセスにファイル記述子を渡すことができることは知っていますが、自分の zeromq ソケットでそれを行うことはできますか?
私は移植性については気にしませんし、率直に言って、それが少し汚れたソリューションであっても気にしません。何か方法はありますか?
前もって感謝します。
node.js - Forever で実行されている NodeJS 上の UNIX ソケット サーバーを正常にシャットダウンする
UNIXソケットをセットアップしてプロセス間通信チャネル(ある種の監視用のもの)を公開するNodeJSアプリケーションがあります。UNIX ソケット ファイルは、os.tmpdir()
フォルダ (つまり/tmp/app-monitor.sock
) に配置されます。
シグナル処理 (SIGINT、SITERM など) を使用して、サーバーを正常にシャットダウンし、ソケット ファイルを削除します。
私のアプリケーションは、forever start ...
ライフサイクルを監視するために実行されています。
コマンドに問題がありforever restartall
ます。永遠に行うときは、すべての子プロセスを終了するためにrestartall
a を使用しています。プロセスで処理できないため、シャットダウン手順なしでアプリが終了します。SIGKILL
SIGKILL
問題は、使用時に削除されないソケット ファイルですSIGKILL
。子プロセスが再起動された後、新しいサーバーを起動できず、listen
呼び出しによってEADDRINUSE
エラーが発生します。
アプリの起動中に既存のソケット ファイルを削除できません。実際に動作しているソケットなのか、以前のクリーンでないシャットダウンの痕跡なのかわかりません。
それで、質問は...そのような状況を処理するためのより良い方法は何ですか(SIGKILLおよびUNIXソケットサーバー)?
linux - LinuxのPerlでfcgiでUNIXドメインソケットの抽象名を使用するには?
Linux では、Perl では、FCGI モジュールを使用して、Open Socket 関数を使用して、抽象名を使用して UNIX ドメイン ソケットを作成することは可能ですか?
null 文字で始まるソケットを作成しようとしましたが、\0wibble \zwibble \x{0}wibble
うまくいきませんでした!
unix(7) で説明されているように、パス名のみを使用して機能しました。
ありがとうございました!