|
>>2114 68user なんかいろいろとアレなので、書き直し。 int sock; int pipes[2]; bind(...); listen(...); sock = accept(...); ... ヘッダ読み込み ... pipe(pipes); if ( fork() == 0 ){ char *args[]={"cgi", NULL}; dup2(sock, 0); dup2(pipes[1], 1); execvp("/home/user/public_html/cgi-bin/foo.cgi", args); } else { char buf[256]; int len; int status; while ( len=read(pipes[0], buf, sizeof(buf) ){ write(sock, buf, len); } wait(&status); } ソケットのデータを CGI プロセスの標準入力に渡し、 CGI プロセスの標準出力を受け取り、そのままブラウザに 返す web サーバもどきです。 |
|
こんにちは。又お邪魔させてもらいました(^^;) この前はありがとうございます。うまくできました\(^o^)/ 今回は、Perl/Tkなんですがアドバイスよろしくお願いします。m(__)m リストはこんな感じなんですが・・・ use Tk; $mw = MainWindow->new; $mw->title("gifgraph"); $can = $mw->Canvas(-width=400, |
|
すみません↓ tabで形をそろえようとしたら送信のところにいっちゃってenterおしちゃいました(^^;; ヒヤアセ で、リストは use Tk; $mw = MainWindow->new; $mw->title("gifgraph"); $can = $mw->Canvas(-width=>400, -height=>300) -pack(); for(;;){ $gif = $mw->Photo(-format=>'gif', -file=>"graph.gif"); $can->createImage(200,150,-image=>$gif); $mw->after(4000); } 画像が更新されるのでfor文で何度も画像を読みこませたいんですが、ウィジェットすら開かないんです。for文をはずせば今ある画像が表示されるんですが、なぜなんでしょうか? |
|
>>2117 CCIE Perl/Tk は久しくやってないので忘れてしまいましたが、 $can->createImage(200,150,-image=>$gif); $mw->after(4000, \&change_image); MailLoop; exit; sub change_image { $gif が変わっていたら $can をいじる } じゃないですかね。 |
|
参考にさせていただきました。 少し手を加えてなんとか表示できました。それで、 GDモジュールとGIFgraphモジュールでgifを作って for(;;){ ・・・・・・ } の中に入れたんですが $my_graph=new GIFgraph::lines(); ・・・・・ 見たいな感じでGIFgraphを定義させました。 for文の外にこう言う定義は書いたらいいんですが、このモジュールの仕様?(バグ)で中に入れてどんどん作らないと更新されないんで中に書きました。 でもそうすると何度も定義するのでメモリがどんどん食われていくんです。メモリの制御を除いてもメモリが増えていってました。 前に定義したものが残っているのでそれを破棄するってことはできるんでしょうか? |
|
>>2115 68user そうですか実装依存ですか。それが判っただけでもOKです。 ありがとうございます。 perl側では、あまり意味がないという事になりますかね。 しばらくApache関連の情報も探しましたが、今の所該当する 情報は見つかりません。 わざわざ例題(cですよね?)まで書いてもらいましたが、 よく判りませんでした。m(_ _)m cが解かればソースを見て何とかなるかもしれませんが、 まだ不勉強なので… 何か見つけたら報告します。 >>2105 ふくし >ところで、1.1 をお使いですよね? いえ、B20でした・・・って最近使っていないのがバレバレですが(笑) 自分は、DOS上では面倒な処理をする必要がある場合ぐらいしか 使ってません。普通は本物の環境で作業しています。 Cygwin でシンボリックリンクまで対応している事を知ったのも、 最近です(笑) |