質問編集履歴
3
fasdfadsf
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,4 +15,14 @@
|
|
15
15
|
|
16
16
|
追---
|
17
17
|
1つのプログラム内でfork() すれば、socket()の返り値であるfdをグローバル変数などに入れて
|
18
|
-
おけばそれをfork()先プロセスで使用すればいいだけだと思うのですが、全く別のプログラムという別プロセスではどのようにすればいいのでしょうか。
|
18
|
+
おけばそれをfork()先プロセスで使用すればいいだけだと思うのですが、全く別のプログラムという別プロセスではどのようにすればいいのでしょうか。
|
19
|
+
|
20
|
+
追---
|
21
|
+
よく調べてみますと、
|
22
|
+
sendmsg()のSCM_RIGHTSを使用して、目的のプロセスにfd群を渡して...する方法が一般的なような感じのようでした。
|
23
|
+
これを見るに、何と言いますか、socket()で作成される構造体というのはファイルのように明確に名前がないので、ファイルのようにどこからでもアクセスは可能なものの、ファイルのように
|
24
|
+
open(名前,..)みたいに明確に目的物を指す方法が無いのではないかと思いました。
|
25
|
+
だから、全くfork()もしていないプロセスから無名のものを言い当てることができないから、
|
26
|
+
そのヒント(fd)をsocket()したプロセスから送ってやる必要があるのだと...
|
27
|
+
|
28
|
+
何かそのような補助が無くてもすっと取れるようなファイルのような機構があってもおかしくないと思うのですが、何か理由でもあるのでしょうか...
|
2
dddd
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,4 +15,4 @@
|
|
15
15
|
|
16
16
|
追---
|
17
17
|
1つのプログラム内でfork() すれば、socket()の返り値であるfdをグローバル変数などに入れて
|
18
|
-
おけばそれを使用すればいいだけだと思うのですが、全く別のプログラムという別プロセスではどのようにすればいいのでしょうか。
|
18
|
+
おけばそれをfork()先プロセスで使用すればいいだけだと思うのですが、全く別のプログラムという別プロセスではどのようにすればいいのでしょうか。
|
1
aaaaaaaa
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,4 +11,8 @@
|
|
11
11
|
ソケットの構造体というものもファイルのようなシステム全体でグローバルにディスクリプタを通してハンドルできるものだと思うので、
|
12
12
|
ファイルのように一旦作成したソケットはどこからでも使うことができるように思います。
|
13
13
|
|
14
|
-
よろしくお願いいたします。
|
14
|
+
よろしくお願いいたします。
|
15
|
+
|
16
|
+
追---
|
17
|
+
1つのプログラム内でfork() すれば、socket()の返り値であるfdをグローバル変数などに入れて
|
18
|
+
おけばそれを使用すればいいだけだと思うのですが、全く別のプログラムという別プロセスではどのようにすればいいのでしょうか。
|