next up previous contents
: ox_asir phrase book : サンプルサーバ, クライアント : testclient   目次

ox

ox は ox サーバをたちあげるためのプログラムである. クライアントよりサーバへ接続するには二つの方法がある. 一つは ox で データとコントロール用の二つの ポート番号を明示的に起動し, クライアントがこのポートへつなぎに いく方法である. もう一つは, クライアント側でまず, 空いているポートを二つ さがし, それから ox-reverse で起動して サーバ側がクライアントにつなぎにくる方法である. この場合, ox はたとえば次のように起動される.
/home/nobuki/kxx/ox -reverse -ox /home/nobuki/kxx/ox_sm1 
-data 1172 -control 1169 -pass 1045223078

ox は, 子どもプロセスとして, ox_asir, ox_sm1 などを起動するのであるが, これらのプロセスは 3 よりOX データ, コマンドを読み込み, 4 へ OX データを書き出す. 現在の実装では 3 と 4 は dup して同一視してしまっている. ox はTCP/IP のデータ転送のポートを, 3, 4 へわりあてて, 子どもプロセスを起動する.

close(fdControl);   /* close(0); dup(fdStream); */
dup2(fdStream,3);
dup2(fdStream,4);



Nobuki Takayama 平成15年5月13日