Unixドメインソケットファイル記述子をプロセスAから別のUnixドメインソケット接続を介してプロセスBに渡そうとしていますが、 tcpソケットは問題なく渡されます。 理由がありますか、何か間違っていますか? 両方ともアンリアルメッセージを通します。 ThanxcまたはC++で別のUDS接続を使用してUDSファイル記述子を渡すことはできますか
答えて
ソケットファイル記述子(通常のファイル記述子のように)は、正しく作成されたプロセスの外では全く意味を持ちません。 fd
を他のプロセスに送信すると、バイトの束を送信しているだけです。これ以上のものはありません。
唯一の方法あなたは作業fd
つのプロセスから別のfork()
に渡されるfd
を含むプロセスで移動することができます。
特定のプロセスを特定のUnixソケットに接続する場合は、そのプロセスにUNIXソケットファイルシステムエントリ名を渡す必要があります。受信プロセスは、ソケットを作成して後で接続することができます。
私はなぜtcpソケットfd
を渡すことに問題がなかったのか分かりません。おそらく、コードの関連部分を投稿すると、その理由が明らかになります。
'fork()'は、作業中のfdをあるプロセスから別のプロセスに移動する唯一の方法ではありません。 'SCM_RIGHTS' [付随メッセージ](http://linux.die.net/man/3/cmsg)はファイルディスクリプタをUNIXソケットを介して別のプロセスに送ることができます。 –
@SamMiller良い点、私はそれを知らなかった。 –
私はSCM_RIGHTS補助メッセージを使ってtcp接続を渡しましたが、UDSの接続を渡そうとすると失敗します。だから、それに理由があるか、何か間違っているのですか? – AC78
- 1. Lua関数からCでオープンされたファイル記述子に書き込むことはできますか?
- 2. ドル記号($)はcのパラメータまたは識別子として使用できますか?
- 3. Cでパイプ、dup2、ファイル記述子を閉じますか?
- 4. Dokanを使用してC#でファイルシステムフィルタを記述することはできますか?
- 5. C++でのファイル記述子のなりすまし
- 6. c#で.mylogin.cnfファイルを使用して接続することはできますか?
- 7. cでは、ファイル記述子をブロックする方法は?
- 8. c strcpyファイル記述子
- 9. C#を使用してWindowsサービス(C#で記述)を使用
- 10. C++でアプリケーションのコアを記述し、UIにObj-CとCocoaを使用することは可能ですか?
- 11. Cのファイル記述子を開く
- 12. アプリケーション記述子は、ブラックベリーに他のアプリケーション記述子を与えることができますか?
- 13. C.のファイル記述子は、静的なグローバルと対戦します。
- 14. POSIXファイル記述子とCファイルの相互作用
- 15. ファイルの記述子を渡す - Execve(タイプキャスト)
- 16. char offファイル記述子の比較c
- 17. Pythonでは、ctypesファイル記述子を渡してファイルを開く方法は?
- 18. protobuf reflectionを使用して、C++でbooleanフィールド記述子を取得する
- 19. /dev/spidevファイル記述子で()を選択できますか?
- 20. SIFT記述子を使用するOpenCV(C++)は、検出された機能の数を増やしますか?
- 21. C DLLの置き換えを記述していますか?
- 22. Cパイプ:不正なファイル記述子
- 23. Cでのファイル記述子の割り当て
- 24. C#のオーディオ記述子MFCC
- 25. 別のクラスの__init__で属性をインスタンス化するためにpython記述子を使用できますか?
- 26. UNIXソケットを使用して同じホスト上のあるプログラムから別のプログラムにファイル記述子を渡す
- 27. ichatプラグインを記述することはできますか?
- 28. ジェネリックJSONスキーマを記述することはできますか?
- 29. C/C++で識別子として `$`を使うのは安全ですか?
- 30. Objective-Cで@selectorとしてブロックを渡すことはできますか?
あなたの観察された問題を示すコードを投稿してください。 –
オープンされたUDS接続を表すfdを渡すための既知の制限があるかどうかを理解しようとしています。 – AC78