68user's page 掲示板

Prev< No. 4029〜4034> Next  [最新発言に戻る] [過去ログ一覧]
No. 4029 # 68user 2004/10/29 (金) 12:37:29
>>4028 ken
> shutdown()がかかっていたと判断していいのでしょうか?
http サーバが shutdown か close したと判断してよいです。

> 再度htmlを受信する場合は、再度acceptでsocketを作成して受信
> 開始する必要があるのかテストする必要を感じました。
再度接続する場合は、クライアント側は socket を生成して connect
しなおす必要があります。サーバ側はリスニングソケットは listen
しっぱなしなので、クライアントが接続しなおしてきたら accept すれば
よいです。

ただし毎回接続・切断を繰り返していては性能が出ないため、HTTP/1.1 に
おいて keep-alive やパイプラインなどの、コネクションを切断せずに
複数のデータを取得するための仕組みが考案されているわけです (これも
アプリケーション層での工夫です)。

No. 4030 # sugimoto 2004/11/01 (月) 19:46:38
>>4001 68user
2週間程前PEM形式ファイルの読み込みで質問した者です。
なんとか手元を離れたので簡単に報告です。
処理は68user様のご指摘の通り行う事で全て対応できました。
色々ありがとうございました。
行ったのは以下の3処理です。
・PEM_read_RSAPrivateKey()でPEM形式ファイルを読み込む処理
    パスワード付きの場合の処理で少し苦労・・・
・RSA_private_encrypt()で暗号化する処理
・Base64エンコードの要求があったので、EVP_EncodeBlock()でエンコー
    ド処理
出来上がれば単純なのですが、着手した時は全くの白紙状態でしたので
本当に助かりました。有難うございました。

No. 4031 # 上田 [E-mail] 2004/11/02 (火) 15:36:15
いつも参考にさせていただいております。
初めて投稿します。
上田といいます。
よろしくお願いします。

『echo サーバを作ってみよう (3)』を参考にして、echoサーバを作成してみました。
概ねはうまくいきました。
しかし、おそらく子プロセスのものだと思うのですが、defunct(ゾンビ)が残ってしまいます。
このdefunct(ゾンビ)をうまく消す方法はないものでしょうか?

ちなみに、私の環境は
Cobalt LINUX 5.0
です。

もし、私の勘違いでしたらすみません。お許し下さい。
以上、よろしくお願いいたします。

上田

No. 4032 # 68user 2004/11/02 (火) 16:30:46
>>4031 上田
> このdefunct(ゾンビ)をうまく消す方法はないものでしょうか?
サンプルプログラムでは wait をさぼっているためゾンビが残ります。
サンプルを直そうと思いつつ、はや 2年近く経ってしまいました。

ひとつのやり方として、
>>2584 persianopeh
のように SIGCHLD をキャッチする方法があります。あるいは WNOHANG を
指定して waitpid してもよいです。

No. 4033 # 上田 [E-mail] 2004/11/03 (水) 12:09:01
>>4032 68user

68userさん、ありがとうございます。
教えていただいた $SIG{CHLD} = sub { wait }; ですが、不勉強なもので、記述する場所に若干の不安が残っています。
一応、43行目と44行目の間に記述したところ、次の3つは達成できました(目的は達成できました)。
・サーバ機能
・複数同時アクセス
・defunctの消去
もし記述する場所が間違っていれば、またご連絡いただけないでしょうか?

      36: # forkで子プロセスを生成
      37: if ( $pid = fork() ){
      38: # こちらは親プロセス
      39: print "親プロセス($$): 引続きポート $port を見張ります。\n";
      40: print "親プロセス($$): クライアントの相手はプロセス $pid が行います。\n";
      41:
      42: # 親プロセスはソケットをクローズ
      43: close(CLIENT);

                              $SIG{CHLD} = sub { wait };  #←←←ここに追加しました。

      44: next;

以上、ありがとうございました。
今後ともよろしくお願いいたします。

上田

No. 4034 # noza [E-mail] 2004/11/04 (木) 16:21:49
Cシェルの中で、sqlplusに接続してsqlを実行して結果を表示したいのですが、どのようにすればよいですか?
皆さん、教えてください。よろしくお願いします。

Prev< No. 4029〜4034> Next  [最新発言に戻る] [過去ログ一覧]