68user's page 掲示板

Prev< No. 700〜800> Next  [最新発言に戻る] [過去ログ一覧]
No. 700 # 68user [URL] [E-mail] 2000/02/01 (火) 21:33
> multipart メールをバラすのは、perl の MIME-tools モジュールで
perl の MIME-tools、IO-stringy、MailTools モジュールを
入れて、perldoc MIME::Parser のサンプル通りやってみたら
あっさりできました。モジュールに頼ると簡単だなぁ。

No. 701 # ももんが 2000/02/02 (水) 08:39
: : 信じられないけど本当の話。  
: : 私はある日BBSで1000円が200万円に、、、とかいてあるのを見た。
: : 200万円ものお金が郵送されてくると書いてあった。
: : まさか、そんなには、、、と思ってはみたが、
: : やらなきゃ何もはじまらない、まぁ、何もなくて1000円くらいの損だし、、、
: : ま、数万くらいは、、、、。と、思っていた。
: : (ホントに軽い気持ちで)だから、そのBBSのとおりにやってみた。

: : 私がやったことは、書き換えたファイル(この文書です)を
: : ニュースグループやBBSの電子掲示板などに(!!出来るだけ多くの!!)
: : アップロードした。
: : そして私はお金が来るまでどきどきしながら待っていた。
: : 私は10万円や15万円ぐらい来る時しまうところを確保していた。 
: : でも、、、。お金の入った封筒がどんどん郵便受けに入ってくるのには、
: : 仰天した。!! さて、私にいくらお金が送られてきたでしょう?
: : 10万?20万?50万?私は合計!!!約200万円!!!嘘、、、、、。
: : このお金を目にしてまだしんじらんないって感じ!!!

: : さて、その具体的な方法を書きます。ちゃんとファイルに保存しておくと良いよ。
: : あとで役に立ちます。君が払わなくてはいけない物は、5枚の切手、封筒、1000円。
: : それを、リストの5人に、合法的に現金を送る方法で送る。そして、君の名前と
: : 住所が書いてある方のファイルをいろいろなところにアップロードする。
: : そうしたらたった1000円あげるだけで150万円から250万円の戻りが3〜5週間で
: : 届きます!!!!

: : では具体的にどうすれば良いか?
: : * **名前と住所のリストは最後にあります。***
: : まず一枚の紙に「私をあなた方のリストに入れてください。」これを書くことにより、
: : このスーパーマネーシステムは成り立ちます。(合法になります。) 
: : あなたは200円をランダムに払うのではなくこのシステムに払うのです。
: : そうそう、紙に自分の名前と住所とあなたが出す人はリストの何番目にいたかを
: : 書きます。
: : 1.(あなたはリストでは、○番目にいました)と、書きます。
: : 2.(1)で書いた紙を200円にまきつけましょう。そして封筒に入れ、
: :  リストに書いてある5つの住所に送る。 紙を200円に巻きつけて、  
: :  200円を見えなくするのにはワケがあります。 
: :  郵便で現金を送ってはいけないのだ。郵便局に行って200円の5枚にしても良い。
: :  手数料10円。小為替だったらまく必要がないよ!

: : * *このステップは重要です。**
: : 3.さて、ここからが重要。よく読んで、システムを理解してね。
: :  一番上の人を消す。そして他の皆のポジションを一つずつ上げる。
: :  つまり、ポジション2の人をP1に、P3の人をP2に、P4の人をP3に、P5の人をP4に
: :  かえるということ。そしてポジション5に君の名前、住所、郵便番号、国を
: :  書きこむわけ。
: : 4.そして(3)で変えたこれのファイルをいろいろなところに出来る
: :  だけたくさんアップロードします。  

: : アップロードしたぶん自分に跳ね返ってきます。
: : 自分と他の4人にもお金が入ることになります。

: : さて皆さん、リストについては正直にしましょう!! 
: : 汚い事しなくても、お金はいっぱい入るから。ウソは絶対に辞めましょう。OK?

: : 5.ここまできたらもう後は人生楽しみましょう。
: :  お金は着々と君の郵便受けに入ってきます。

: : 初めて2週間くらいからお金が入りはじめて3〜4週間目にはお金の台風が君の
: : 郵便受けを襲います。 びっくりして叫ばないようにね。
: : お金がなくなってきたら又既に書き換えたファイルに(4)〜の行程を繰り返しましょう。
: : 絶対にこのファイルはなくさないように。
: : 何度でも使えるから。参考にしてください。
: : 名前と住所のリスト正直がこのプログラムを成功させる!!!

: : 1. 横山美由紀 〒193-0932東京都八王子市緑町401−105
: : 2. 波多野絵梨 〒860-0085熊本県熊本市高平2-16-5
: : 3. 浦西弘明 〒524ー0101滋賀県守山市今浜町2620-14-216
: : 4. 村上健一 〒014-0722秋田県仙北郡中仙町豊川字下延17-2
: : 5. 小関リノ 〒080-0834北海道帯広市稲田町西1線5番地115

: : あなたに全くマイナスはありません!!!!
: : 君にお金を送ってきた人の名前はなくさないようにしたほうが良いでしょう。 
: : みんなで公平にこのシステムを使いましょう。

: : 最後に:正直がこのシステムを成功させるのです!!!
: : もしもあなたがお金をリストの五人に出さない卑怯者だったらあなたはあまり
: : お金をもらえない。私は誰かがお金をリストの五人に送らなかったので3万円(2ヶ月後に)
: : しかもらえなかったのを知っている。それからお金をリストの5人に送ったのでリスト
: : の人たちは彼をリストに入れてあげた。そして4〜5週間後に彼は200万円以上手に入れたのです。 
: : これは本当の話ですよ!!! (ちょっとびっくり)
: : だまされたと思って1000円出せばすごい大金が手に入ります!!!(上記のことから)
: :  このチャンスを大事にしましょう!!!

No. 702 # Ta [E-mail] 2000/02/02 (水) 12:08
はじめまして。Taと申します。

whois.cgiに関して、お聞きしたいことがあるでのすが、もしよかったら教えて下さい。

私のISPは、LINUX(Redhat)を使用しているため、68Userが作られたcgiのスクリプトの
一部を変更しなければならないことに気が付きました。

オリジナルでは、'whois -h whoisserver domain'となっていますが、Linuxでは、whois
コマンドのパラメーターが違うようで、'whois domain\@whoiserver'('whois domain@whoiserver'というパラメーターも見たことがあるんですが)ということなので、スクリプト内の以下の部分のみを変更しました。


#変更前

$ret = `$whois -h $nics{$nic} $domain`;

#変更後

$ret = `$whois $domain\@$nics{$nic}`;


これにプラスして、当方のISPでは、'whois'が、'/bin'にあるので、'environment.pl'の'$whois'のパスも'/bin/whois'に変更しました。

ところが、サーバーエラーが出てしまいます。ISPで用意してあるデバックの機能(web
から行う)を利用してみたところ、以下のような結果がでました。

-----------------------------------
TEST 1: script and permissions
Passed Test 1!

TEST 2: script file format
Passed Test 2!

TEST 3: check perl path
Passed Test 3!

TEST 4: perl syntax
      String found where operator expected at t_whois.cgi line 45, near "print ""
          (Might be a runaway multi-line "" string starting on line 33)
       (Missing semicolon on previous line?)
      syntax error at t_whois.cgi line 45, near "print ""
      t_whois.cgi had compilation errors.

Your script failed one or more of the tests and could not
be automatically corrected. Please correct the errors
listed above and try again.
-----------------------------------

調べてみたところ、おそらく、変更した部分のが関係すると思うのですが・・・
原因がよく分かりません。

もし、解決方法をご存知でしたら、ご指導頂ければ助かります。

Ta

No. 703 # 68user [URL] [E-mail] 2000/02/02 (水) 13:34
> (Might be a runaway multi-line "" string starting on line 33)
> (Missing semicolon on previous line?)
「33行目から始まる "" が閉じてないのではないか?」
「前の行の最後にセミコロンを付け忘れていないか?」
ということでしょう。

> $ret = `$whois $domain\@$nics{$nic}`;
これ自体は問題ありません。

No. 704 # Ta [E-mail] 2000/02/02 (水) 14:39
68Userさん、早速のお返事有り難うございます。
スクリプトは確認したと思うのですが、再度、確認してみます。
もし、また分からないことがあれば、お聞きするかもしれませんが、
よろしくお願い致します。

Ta

No. 705 # Ta [E-mail] 2000/02/02 (水) 20:58
度々すいません。Taです。スクリプトにミスがありました。その後、デバックをしてみると、全てパスしました。

TEST 1: script and permissions
Passed Test 1!

TEST 2: script file format
Passed Test 2!

TEST 3: check perl path
Passed Test 3!

TEST 4: perl syntax
      t_whois.cgi syntax OK
Passed Test 4!

Your script has passed all 4 tests.

If your script passes these tests, and still won't run,
you might look for one or more of these common problems:
      1) make sure it can find any files or external programs it needs
      2) make sure any included perl programs also check out
      3) make sure you are writing a "Content-type:" line
            at the beginning of your output
Consult your favorite Perl/CGI book for more information.

これで動くかと思ったら、Internal Server Error・・・
う〜ん、なんでだか分かりません。environment.plは、$whoisのパスを修正するだけで、いいはずですよね。

何か、チェックしてみるところがあったら教えて下さい。

Ta

No. 706 # 68user [URL] [E-mail] 2000/02/03 (木) 06:30
とりあえず、

> open(STDOUT,"|$nkf -j");
open(STDOUT,"| /usr/local/bin/nkf -j");
> &put_header("whoisしてみよう -- $domain --");
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD><TITLE>whoisしてみよう -- $domain --</TITLE></HEAD>\n";
print "<BODY ...(略)...>\n";
> &finish_work;
print "</BODY>\n</HTML>\n";

などと書き換えて、environment.pl なしで動くようにしてみて下さい。

それはそれとして なぜ動かないかというと、CGI 経由で実行した際に
environment.pl が読み込めているかどうかが気になります。
    if ( ! require 'environment.pl' ){
        print "Content-type: text/plain\n\nCan't load environment.pl\n";
        exit;
    }
てな感じでチェックするといいでしょう。

No. 707 # dai [E-mail] 2000/02/04 (金) 22:10
初めまして〜m(_ _)m

ちょっと聞きたい事があるのですが、unixでmoにデータをセーブするにはどうすればいいんでしょうか?
環境はあるみたいなのですが、やり方が分かりません。

因みにroot権限はないです。
unixはsolarisです。

No. 708 # Ta [E-mail] 2000/02/06 (日) 00:12
68Userさん、色々とアドバイス有難うございます。

どうしてもうまくいきません。'nkf'のパスが間違っているのでしょうか?
('environment.pl'を使わない方法で行ってみました)
'whois'も、結局、調べたところ、'/bin/whois'でしたし・・・

今晩、また挑戦してみます。

No. 709 # 68user [URL] [E-mail] 2000/02/06 (日) 06:25
まずは
    #!/usr/local/bin/perl
    $|=1;
    print "Content-type: text/plain\n\n";
    print `/bin/whois yahoo.co.jp@whois.nic.ad.jp`
ここから始めましょう。これでダメなら whois の問題です。動いたら
    #!/usr/local/bin/perl
    $|=1;
    open(STDOUT,"|/usr/local/bin/nkf -j");
    print "Content-type: text/plain\n\n";
    print `/bin/whois yahoo.co.jp@whois.nic.ad.jp`
として下さい。これでダメなら nkf のパスが問題です。

whois.nic.ad.jp は JIS コードを返しますが、whois.cgi は
EUC で書かれているので、nkf で文字コードを統一しています。
なので、細かい事を言うと上の例では nkf は要りません
(スクリプトが EUC を (というか、日本語を) 出力していないから)。

> unixでmoにデータをセーブするにはどうすればいいんでしょうか?
ここらへんがヒントになるでしょうか。
    http://www.pfu.co.jp/x86/faq/
僕自身は経験がないのでわかりません。

No. 710 # へにか 2000/02/06 (日) 19:29
「HTTP クライアントを作ってみよう」と、2000/01/12(水) 20:56の
proxyに関する書き込みを参考にしたら、簡単なproxyサーバーが、
簡単に作れました。ありがとうございます!

# でも、数行の追加じゃ済まなかったなぁ。もっと修行すれば
# 出来るようになるんだろうけど・・・

No. 711 # has 2000/02/07 (月) 01:03
なにやらいろいろ大変そうですね。
ところで掲示板の話なんですが…。
ログの管理とか、なんかいい案浮びました?
俺はあんま考えてないですけど。

それとうちの掲示板、過去ログ一覧をちょっと
並べ替えてみました(なにやってんだか…)。
もしよかったら使ってやって下さい。
それではまた。

No. 712 # 68user [URL] [E-mail] 2000/02/07 (月) 04:31
> # でも、数行の追加じゃ済まなかったなぁ。
そうでしたか。実際に作ってみたわけではないので、そうかもしれません。
ただ、実用で使おうとすると、マルチスレッド化しないといけませんが、
その場合は結構行数は増えますね。

> ログの管理とか、なんかいい案浮びました?
ログを1つのファイルにまとめるか、1.txt・2.txt…と分けるか、ですか?
実際のところ、それぞれメリット・デメリットがありますから、難しいですね。
# <Email ....> 方式はやめようと思ってます。<Email>....</Email> スタイルに
# するつもり。

それはそれとして、後者のログ管理方式にしてくれ、ということなら
どちらでも選べるように改造しますけど どうします?

> 過去ログ一覧をちょっと並べ替えてみました
個数が多くなると、見やすいですね。参考にさせていただきます。

ところで ML の件ですが、has のところでやってもらえません?
うちは後任の管理者がいないので、この時期に始めるのはあきらめました。

No. 713 # かりり [E-mail] 2000/02/08 (火) 05:38
やっと、自力でCGI設置出来ました。
CGIをやろうとしてから実に二年もかかってるんですけど
パーミッションとperlと言う言葉の意味がやっと分かりました
次は自作に燃えて居たら、CGI プログラムのはじめの一歩
って言うコンテンツが在ったので嬉しいです。perlパソに入れて
CGIの本買ってきますよー。なんか、CGI設置できたのが
嬉しくて、68userさんに報告がしたかったのですー
ヒトの作ったCGIがうごいたってだけなんですけど、嬉しかったです。

No. 714 # 68user [URL] [E-mail] 2000/02/09 (水) 00:16
> perlパソに入れて CGIの本買ってきますよー。
それはよいことで御座います。やはり自作するのが一番楽しいわけで、
ぜひ勉強してみて下さい。

ただし、他人に聞く前に「まず本を読む、まず自分で調べる」という
ことは必ず行うようにして下さい。自分で調べられない・自分で
調べる気のない人は、上達しませんから。

No. 715 # たまり 2000/02/10 (木) 23:35
はじめまして、たまりと申します。
CGI、特にperlを勉強中の物です。
「ネットワークプログラミングの基礎知識」、滅茶苦茶参考になりました。
ありがとうございます。

現在、68userさんのスクリプトを参考に、FTPクライアントを書いているんですが、
どうもSTORがうまくいきません。
ファイルが送信し終わるまでに接続を切られてしまい、FTPdがファイルハンドルを
解放しないような状態になってしまいます。

当方の環境はというと、Windows98 + ActivePerl build 521 + TinyFTPDaemon Ver 0.51です。
HDの転送速度が追いつかないのかなと思い、以下のようにウェイトを入れてみても
だめでした。

while (<IN>) {
    print DATA $_;
    $i = 10000;
    while ($i) {$i--;}
}

上記のコードはPassiveモードでサーバが開いたDATAポートにINファイルをPUTして
いる部分だとお考え下さい。
結果として転送速度は確かに下がったのですが、ファイルハンドルを解放しない
(=FTPdが「受信が完了しました」と言わない」)という症状は改善されません。

なお、環境の制限により、シングルスレッドで書いています。

これは、環境による原因があるのでしょうか?
それともコーディング上の問題があるのでしょうか?

よろしければご教示下さい。

No. 716 # 68user [URL] [E-mail] 2000/02/11 (金) 20:24
> ファイルが送信し終わるまでに接続を切られてしまい
何バイト送ったら切れる、などという再現性はありますか?
1バイトずつ送ってみるとどうでしょう。また、切れるのは
データコネクションですか? コマンドコネクションですか?

> FTPdがファイルハンドルを解放しないような状態
というのは具体的にはどういう状態ですか?
これもデータコネクションかコマンドコネクションかを教えて下さい。

あと、このコードの前後数行を見せてもらえますか?

> HDの転送速度が追いつかないのかなと思い
これはさすがにないと思いますよ。Windows といえども OS ですから、
そこらへんはきっちりやってくれるでしょう。

ちょっと急いでいるので、この辺で。

No. 717 # 68user [URL] [E-mail] 2000/02/11 (金) 20:28
> これはさすがにないと思いますよ。
仮に HDD がとても遅かったとしても、
>> while (<IN>) {
でブロッキングするだろうから、読めなかったけど処理が
先に進むなんてことはないと思う、ということです。
# ここでブロッキングしてくれないと、OS の意味がない。

No. 718 # メリクリウス 2000/02/12 (土) 00:36
初めまして、セガBBSの過去ログ凄いです、
ご苦労様としか言えません、
また、じっくり見させてもらいにきます、
(今からみるんだけど、、、)

No. 719 # たまり 2000/02/12 (土) 02:10
> 何バイト送ったら切れる、などという再現性はありますか?
再現性はないようです。
接続が切られた時点でのサイズは不定でした。

> 1バイトずつ送ってみるとどうでしょう。
えっと、具体的にどのようにすればいいんでしょうか?
readで1バイトずつ読んでいくのでしょうか。ちょっと試してみます。

> また、切れるのはデータコネクションですか? コマンドコネクションですか?
すいません、説明が足りなかったようで。
どうやらQUITは送信されているようなのでデータコネクションが切られているようです。

>> FTPdがファイルハンドルを解放しないような状態
FTPdが起動中はエクスプローラからもファイルの削除等ができません。
もちろんスクリプトが終了していても、です。
FTPdを終了させると、送信したファイルが元サイズ以下(不定)であるという感じです。
そうなると削除等も可能になります。
「データコネクションかコマンドコネクションか」というのは自分にはわかりません。

> あと、このコードの前後数行を見せてもらえますか?
以下のようになります。
ほとんどftptrans.plを流用させて貰ってます(^^;

if ($mode eq 'put') {
    &send_command(COMMAND, "STOR $target_file\r\n");
} elsif ($target_file =~ m|/$|) {
    &send_command(COMMAND, "LIST $target_file\r\n");
} else {
    &send_command(COMMAND, "RETR $target_file\r\n");
}

&client_work(DATA, $data_connection_host, $data_connection_port);
open(IN, $infile) || die "$infile: $!";
binmode(IN);
while (<IN>) {
    print DATA $_;
}
close(IN) || die "close: $!";
&read_response(COMMAND);
close(DATA) || die "close: $!";

&send_command(COMMAND, "QUIT$CRLF");
&read_response(COMMAND);
close(COMMAND) || die "close: $!";

> # ここでブロッキングしてくれないと、OS の意味がない。
当てがはずれてたようですね(^^;
実際改善されなかったですし。


ファイルが送信し終わる前にQUITが送信されてると言うことはデータコネクションが
切断される前にコマンドコネクションが切断されると言うことでしょうか?
確かFTPってデータコネクションの切断=データの終わりでしたよね?
でもcloseでは死んでないようだし・・・

とりあえず1バイトずつを試してみます。

No. 720 # たまり 2000/02/12 (土) 02:13
あ、すいません、訂正です

> &send_command(COMMAND, "QUIT$CRLF");
&send_command(COMMAND, "QUIT\r\n");

です。

# 普段$CRLF="\r\n";でやってるもので(^^;

No. 721 # 68user [URL] [E-mail] 2000/02/12 (土) 09:19
> メリクリウスさん
メールの返事をここでさせて頂きますが、人の多いところから
リンクしちゃダメなのは、お肉さんのところです。うちは
どこからリンクしても構いませんです。


> FTPdが起動中はエクスプローラからもファイルの削除等ができません。
FTPd が STOR 先のファイルをオープンし続けているということですね。
謎ですね。

こちらには Windows 環境がないので、そのものずばりの答えは
わかりませんが、思いつくままに。

1. まずは小さなファイルでやってみて下さい。
2. sub client_work の最後で、SOCK のバッファリングを OFF にしている
   ($|=1) のは削ってませんよね?
3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてないんじゃない
   ですか? データコネクションが確立したら、
    150 Binary data connection for test/hogemoge (127.0.0.1,33299).
   というレスポンス、さらに転送が完了したら
    226 Transfer complete.
   というレスポンスが返ってきませんか?
   (でもこれが原因じゃないと思う。レスポンスを読まなくても転送はできるはず)
4. $verbose=1 にして、プロトコル眺めてますよね?
5. passive なら、telnet コマンドだけを使って送信してみるのもいいかも。
6. ftp にデバッグオプションを付けて、プロトコルを観察してみては。

>> 1バイトずつ送ってみるとどうでしょう。
> えっと、具体的にどのようにすればいいんでしょうか?
例えばこんな感じです。
    &send_command("STOR $target_file\r\n");
    &client_work(DATA,$data_connection_host,$data_connection_port);
    &read_response(COMMAND);

    use IO::File;
    sysopen(IN,$infile,O_RDONLY);
    binmode(IN); # sysopen なら不要かな?
    while (1){
        $nread = sysread(IN,$buf,1);
        $read_size += $nread;
        last if ( $nread == 0 );
        print "$read_size read ";
        print DATA $buf || die "$!"; # 成功したかどうかチェック
        print "$read_size send.\n";
    }
    close(DATA); close(IN); &read_response(COMMAND);
    &send_command("QUIT$CRLF"); &read_response(COMMAND); close(COMMAND);
とりあえず、何バイト目でこけているのかは調べられるでしょう。
ただし、パケットレベルで 1バイトずつのデータが送られる、という
保証はありません。

念には念を入れて、print DATA の代わりに syswrite(DATA,...) を
使ってみるのもいいかも。
# syswrite = select(DATA);$|=1;binmode(DATA);print DATA と
# 同じはずだと思うんですが、違いましたっけ。


Solaris の ftpd 相手に試していて思ったんだけど、
    http://X68000.startshop.co.jp/~68user/net/ftp-5.html
> 次のアクションは
>  データコネクションの確立なのか
>  コマンドコネクションからのエラーレスポンスなのか
> のどちらなのかが わからないのです。
こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。
調べておかねば。

No. 722 # アーゴン 2000/02/13 (日) 20:17
はじめまして。ゲームでわからない事があったので、誰か教えて下さい。
「七ツ風の島 物語」というゲームなのですが・・・
(知っている人、いるかなぁ・・・)
第11章 『小さくてキレイな物』・・・で、どうしたらいいのか、わかりません。 あった事といえば、白ガラスのヒューと、カンぞうに会った事です。できれば、わかる人、教えてください。よろしくお願いします。
  

No. 723 # たまり 2000/02/14 (月) 05:02
返事が遅くなって申し訳ないです。
ここ二日ほど色々あって何もできませんでした(^^;

> FTPd が STOR 先のファイルをオープンし続けているということですね。
です。FTPd側の問題という可能性も無くはない気もしますが(但し、普通の
クライアントを使用した場合は当然ながらうまく送信できます)

まず、先程試してみた結果から。

どうやら原因は
> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない
だったようです。
これを入れたらまともに動いてくれるようになりました。

念のため、詳しい報告も
> 1.
小さなファイル(数KB程度)でも同様でした
> 2.
削っていません。
> 4.
とりあえずまともに動くようにしようと即興で作っていたので$verbose=1の部分は
削ってました(^^;
本来はそういうときこそ細かくデバッグすべきなんでしょうけど・・・
> 5. 6.
telnetやftpを使えば問題なく送信できます。

なお、1バイトずつ読んでいく方法ですが、
print DATA $buf || die "$!";
ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。
print DATA $buf;
のようにするとうまくいきました。

また、syswriteに関しては使ったことがないのであまりわかりませんが、
引数はsysreadと同様な形で取って、返り値は書き込んだバイト数のようです。
また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。

ありがとうございました。

No. 724 # 68user [URL] [E-mail] 2000/02/14 (月) 18:59
> はじめまして。ゲームでわからない事があったので、誰か教えて下さい。
ここにはゲームに詳しい人はあまりいないような気がします…。


> どうやら原因は
>> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない
> だったようです。
なるほど。ちょっと不親切な ftpd ですね (と僕は思う)。

> ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。
なんででしょう。調べてみよう。

> また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。
ああそうか。(Cでいうところの) open でも改行コード変換できるんですね。

> こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。
> 調べておかねば。
これは Solaris の ftpd でも同じでした。変なの。

No. 725 # ハリー 2000/02/15 (火) 19:43
はじめまして、ハリーと申します。
実は今、Kシェルを作っているんですが、シェル内で
exportコマンドを打って環境変数を変更しようとし
てもできませんでした。普通にexportコマンドを打
ってもダメなんですか?それとも出来ないのですか?
シェル初心者なので、よくわかりません。
よろしく、お願いします。

No. 726 # 68user [URL] [E-mail] 2000/02/15 (火) 19:59
export HOGE=FUGA で できませんか。

No. 727 # ハリー 2000/02/15 (火) 20:09
はい。
シェルの中でenvを打つと変更した環境変数に変わっているのですが
シェルが終ってもう一度、envを叩くと元に戻っています。

No. 728 # 68user [URL] [E-mail] 2000/02/15 (火) 20:35
子プロセスでいくら環境変数をいじっても、親プロセスには
影響しません。これはどんなシェルでも同じです。

具体的に何をしたいのかがわからないのですが、
どうしてもやりたければ、eval を使うしかないです。

No. 729 # ハリー 2000/02/16 (水) 09:04
ありがとうございました。
やってみます。

No. 730 # つる 2000/02/16 (水) 09:39
はじめましてつると申します。
ネットワークプログラムについての質問なのですが、
今、いろいろと事情があって
ここのページを参考にプロキシのようなサーバプログラムを
作成しております。
なにをするサーバかというと、ブラウザからのリクエストを受け取り
そのリクエスト(GET,POST)を他のWebサーバにそのまま送りつけ
そのWebサーバからのレスポンス(HTML)を受け取り、
ブラウザに返してやるサーバです。
このページのソースを参考にしています。
サーバ部分はecho-server.plを
httpリクエスト部分はhttp-client.plを利用しましたが、
Webサーバまではリクエストが行っているようですが
レスポンスがうまく表示されません。
なにか原因がわかりになるようでしたら
教えてください。

No. 731 # つる 2000/02/16 (水) 10:32
ソースはこんな感じです。

#!/usr/local/bin/perl -w

use Socket;

$server_port = 4989;

# ソケット生成
socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0)
                || die "ソケットを生成できません。$!";

# ソケットオプション設定
setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1)
                || die "setsockopt に失敗しました。$!";

# ソケットにアドレス(=名前)を割り付ける
bind(CLIENT_WAITING,sockaddr_in($server_port,INADDR_ANY))
                || die "bind に失敗しました。$!";

# ポートを見張る
listen(CLIENT_WAITING,SOMAXCONN)
                || die "listen: $!";

print "ポート $server_port を見張ります。\n";

# while(1)することで、1つの接続が終っても次の接続に備える
while (1){
                accept(CLIENT,CLIENT_WAITING);

                # HTTP プロトコルを使う
                $port = getservbyname('http','tcp');

                # ホスト名を、IP アドレスの構造体に変換
                $iaddr = inet_aton("xxx.xxx.xxx.xxx")
                                || die "[xxx.xxx.xxx.xxx]は存在しないホストです。\n";

                # ポート番号と IP アドレスを構造体に変換
                $sock_addr = sockaddr_in($port,$iaddr);

                # ソケット生成
                socket(SERVER,PF_INET,SOCK_STREAM,0)
                                || die "ソケットを生成できません。\n";

                # 指定のホストの指定のポートに接続
                connect(SERVER,$sock_addr)
                                || die "[xxx.xxx.xxx.xxx]のポート$portに接続できません。\n";

                # ファイルハンドル SERVER をバッファリングしない
                select(SERVER); $|=1; select(STDOUT);
                # クライアントに対してバッファリングしない
                select(CLIENT); $|=1; select(STDOUT);

                # WWWサーバにHTTPリクエストを送る
                while (<CLIENT>){
                                print SERVER "$_";
                                print "$_";
                }

                # ヘッダ部分を受け取る
                while (<SERVER>){
                                # 改行のみの行ならループを抜ける
                                m/^\r\n$/ && last;
                }

                # ボディ部分を受け取り、表示
                while (<SERVER>){
                                print CLIENT "$_";
                                print "$_";
                }
                close(CLIENT);
}

とりあえず、サンプルをそのまま利用させていただいております。
おかしいところがあればご指摘下さい。
perl初心者のものですみません。

No. 732 # 68user [URL] [E-mail] 2000/02/16 (水) 16:31
簡単に言うと、HTTP proxy とは
    1. proxy サーバが localhost:8080 を listen する。
    2. ブラウザの proxy の設定を localhost:8080 にする。
    3. ブラウザが http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi を読むとき、
          GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0
          Host: X68000.startshop.co.jp
          User-Agent: ....
         というリクエストを proxy 宛に送る。
    4. proxy は X68000.startshop.co.jp:80 に接続し、
          GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0
       Host: X68000.startshop.co.jp
       User-Agent: ....
      というリクエストを送る。
    5. X68000.startshop.co.jp から (proxy に) 返事が返ってきたら、
         そのままブラウザに渡す。
を行うプログラムです。とりあえず GET を中継できるように
してみて下さい。

No. 733 # つる 2000/02/16 (水) 16:44
つるです。
早速のお返事ありがとうございます。

仕組みはだいたいわかるのですが
実際に作ってみるとなると・・・。
ネットワークプログラム初心者には
かなりキツイです。

No. 734 # 68user [URL] [E-mail] 2000/02/16 (水) 17:54
> 仕組みはだいたいわかるのですが
こう言っちゃなんですが、自分ではわかっているつもりでも、
わかっていないのでしょう。

クライアントからのデータを読まないと、proxy サーバが
どこに接続したらよいかは判断できないのに、先に接続
しようとしていますし、
    GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0   

    GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0
に変換する処理もやってません。

ちょっとずつ作ってみて下さい。

No. 735 # つる 2000/02/16 (水) 18:43
つるです。

すいません。
説明不足でした。

>クライアントからのデータを読まないと、proxy サーバが
>どこに接続したらよいかは判断できないのに、先に接続
>しようとしていますし、

実は、接続先は固定です。(IPアドレス指定です。)
特定のコンテンツサーバに接続しようとしてます。

>GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0
>に変換する処理もやってません。

ブラウザからのリクエストは
GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0
・・・
のように来るようにしてます。
そして、そのリクエストを
そのまま(操作無しで)
接続先Webサーバに転送しようとしていますので・・・。

すいません、説明不足で・・。
とりあえず、もうちょっとがんばってみます。
参考にするとよいページがあったら
教えてくださると幸いです。

ご迷惑をおかけします。

No. 736 # 68user [URL] [E-mail] 2000/02/17 (木) 01:09
とりあえず 2〜3日悩んでみて下さい。それでも
わからなかったらまた質問して下さい。

No. 737 # かず*なごや 2000/02/21 (月) 17:47
はじめまして。

Solarisのnfsで質問したいのですが。

.nfsAA5A (下4桁はユニークな番号に変化する)
というファイルを見たことはありませんか?

クライアントマシンからあるシェルを起動すると
勝手に出来てしまって、困っています。
サーバマシン上では出来ないのですが。

心当たりがあれば、なんでも良いので教えて下さい。

No. 738 # 68user [URL] [E-mail] 2000/02/22 (火) 04:45
> .nfsAA5A
昔 消せなくて困りましたが、管理者に聞いたら NFS で
トラブルがあった際、作成されるファイルだそうです。
しばらくすれば勝手に消えるとか。

ただし、本当かどうかは知りませんし、どういうトラブルが
あったら作成されるのかも知りません。

No. 739 # 68user [URL] [E-mail] 2000/02/22 (火) 04:59
もし FreeBSD と Solaris のNFS まわりのコードがある
程度同じなら (元は同じはずですよね)、
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/sys/nfs/nfs_vnops.c?rev=1.150
    /*
     * Silly rename. To make the NFS filesystem that is stateless look a little
     * more like the "ufs" a remove of an active vnode is translated to a rename
     * to a funny looking filename that is removed by nfs_inactive on the
     * nfsnode. There is the potential for another process on a different client
     * to create the same funny name between the nfs_lookitup() fails and the
     * nfs_rename() completes, but...
     */
    static int
    nfs_sillyrename(dvp, vp, cnp)
    ...
あたりのようです。

No. 740 # かず*なごや 2000/02/22 (火) 11:28
ありがとうございます。

現在、NFS & NIS の設定がうまくいってないそう
なので、その辺の影響かな?

まずは、ちゃんと設定するようがんばります。(^^;

No. 741 # らんらん 2000/02/22 (火) 21:26
いつも拝見させていただいてます
今c言語でcgiのプログラム書いてるんですが

hoge.exe?data1=aa&data2=bb

みたいに引数を渡してプログラムを直接呼びたいのですが、うまくデータが渡せません
Formからだと正常に動作するんですがサーバーの設定が関係しているんでしょうか

サーバーはwindows nt + iisです
apachだとそのような事はないですか?

No. 742 # 68user [URL] [E-mail] 2000/02/22 (火) 23:41
> hoge.exe?data1=aa&data2=bb
情報が不足していますので、わかりません。

「FORM からだと正常に動作する」というのは、どういう
ふうに呼び出しているんですか? 「引数を渡してプログラムを
直接呼びたいのですが」とはどういうふうに呼び出そうと
しているんですか?

No. 743 # kika [URL] 2000/02/23 (水) 07:44
いつも勉強させていただいてます。あたしもがんばります。

No. 744 # すがチャン [E-mail] 2000/02/23 (水) 08:03
大江山と言う童謡か歌の歌詞知りませんか?

No. 745 # らんらん 2000/02/23 (水) 09:52
スミマセンでした...
hoge.exeは日付等を受け取りlogを集計して返すプログラムです

まず送信フォームのhtmlはこんな感じです

&lt form method=post action="cgi-bin/hoge.exe" &gt
&lt select name="data1" size="1" &gt
&lt option selected value="aa"&gt aa &lt /option &gt
&lt option value="bb" &gt bb&lt /option &gt
&lt /select &gt
&lt INPUT TYPE="SUBMIT" VALUE="送信" &gt
&lt /form &gt

これを

&lt A HREF=hoge.exe?data1=cc&data2=dd &gt hoge &lt /a &gt

のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません

お手数ですが情報お持ちでしょうか

No. 746 # らんらん 2000/02/23 (水) 09:55
またスミマセン....
<>の書き方を間違えてしまいました

No. 747 # 68user [URL] [E-mail] 2000/02/23 (水) 10:23
FORM は POST で送っているわけですね? で、
> <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a>
だと GET になるわけです。hoge.exe は POST でデータを
受けているので、標準入力を読んでいるはずですよね。
もしGET にも対応したいなら環境変数 QUERY_STRING を
見るようにしないといけません。

C なら getenv("QUERY_STRING") でもいいし、
    main(int argc,char *argv,char *envp)
として envp を見てもよいでしょう。

No. 748 # らんらん 2000/02/23 (水) 12:54
ありがとうございます

if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */
                if(fgets(buf, len+1, stdin) == NULL) {
                                return 1;
                }
} else { /* GETの場合 */
                strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1);
}

こんな感じでうまくいきました
POST と GET ぜんぜん意識してませんでした(よく調べます)

ほんとにありがとうございます。

No. 749 # Rica 2000/02/23 (水) 15:49
promptの説明文の中にHTMLタグが表示されてましたよ

% set prompt="%Sabc%s%Bdef%b%Ughi%u:"
abc<b>def</b><u>ghi</u>:

No. 750 # スナフキン 2000/02/25 (金) 03:15
お久しぶりです、以前くだらない質問ばかりしていたものです(^^;

CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか?

一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと
もくろんだのですが見事に失敗しました。

open(SYS, "top|");

やはり甘かった。コマンドラインで top > hoge.txt としても取れないので
top から取り込むのは駄目みたいですね。
オプションにもそれらしいものが見つかりませんでした。
FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。

面倒なんで試していませんが、一定の処理にかかった時間を測定して
負荷を調べようかと思うのですが・・・
これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^;

あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に
数値を取れないと思ってますから。

何か方法を知っていましたら、よろしくお願いします。
OSはVineLinuxです。

No. 751 # 68user [URL] [E-mail] 2000/02/25 (金) 06:14
> promptの説明文の中にHTMLタグが表示されてましたよ
どうもです。直しておきます。
# 実は気づいていたんだけど、自作の変換フィルタをどう
# 直せばよいのかわからくて悩んでいるところです。

> CGIでサーバーの負荷率
load average を求めたいなら uptime や rup localhost
などが使えると思います。

> open(SYS, "top|");
入力に tty を読んでるのなら、top < /dev/null で
いけるかもしれません (ダメかも)。

なお load average は、違うマシンや OS と比較は意味が
ありません。わかっておられるかもしれませんが、念のため。

No. 752 # スナフキン 2000/02/25 (金) 23:49
uptimeの情報ありがとうございます。
なるほどこれなら何とかなりそうです。

手持ちのコマンドリファレンスには uptime のことが載っていません
でしたが、man には掲載されていたので、これでうまくいきそうです。

/usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも
あまりの数に手を焼いていたところなので助かりました。

>入力に tty を読んでるのなら、top < /dev/null で
やってみましたが駄目でした。

>なお load average は、違うマシンや OS と比較は意味が
>ありません。わかっておられるかもしれませんが、念のため。
すいません、意味がよくわからないのですが、「この結果を元に
ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。

単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷
かを調べる用途に使うつもりです。

ありがとうございました。

No. 753 # 68user 2000/02/26 (土) 05:14
> 「この結果を元にほかのサーバーと比較するには意味が無い」
そうです。「Pentium133+FreeBSD と Pentium166+FreeBSD」とか、
「Pentium133+FreeBSD と Pentium133+Linux」などの load average を
比較するのは意味がないです。また、load average が2倍だから
と言って、負荷が2倍とか速度が1/2 ということもない、という
意図で書きました。

> 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷
> かを調べる用途に使うつもりです。
ということであれば、load average でいいと思います。

> /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも
> あまりの数に手を焼いていたところなので助かりました。
`load average' というキーワードを知っていれば、
    % strings -f /usr/bin/* | grep -i 'load average'
などとするのも一つの手ですね。

No. 754 # へにか 2000/02/26 (土) 08:34
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た
ところ、68userさんのところにあるではないですか(echo関連)。灯台下
暗し・・・ 御恥ずかしい。
ただ、以下のようなメッセージが出たので、どうも僕の環境(後述)では
不可能みたいです。
The Unsupported function fork function is unimplemented at echo.pl line 36.

因みにperl -vの結果は以下の通りです。
version 5.005_03 built for MSWin32-x86-object
目的がテキスト変換なので、delegateみたいな形式(/-_-)で対応しようかな、
それともjavaでも使ってみようかな、それともPCにUnixをインストールしよう
かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。

No. 755 # 68user 2000/02/26 (土) 19:13
> どうも僕の環境(後述)では不可能みたいです。
Windows では fork は使えませんので、select を使うしか
ないですね。

IO::Socket と IO::Select を使って
    http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl
こんな感じでしょうか。本当に実用段階まで持ってくには
まだまだ機能追加、バグ取りをしなきゃいけませんが。

ポイントは、全てのソケットからのデータを select 経由で
受け取ること。今はそうなってませんので、1つのソケット
からのデータが遅れると、そこがボトルネックになってしまいます。

No. 756 # Yuuki 2000/02/27 (日) 12:49
> Windows では fork は使えませんので
cygwinに入っているPerlはforkが使えるそうです。(試していません。)
http://sourceware.cygnus.com/cygwin/

No. 757 # へにか [URL] 2000/02/27 (日) 20:12
68user様;
どうも御教授、ありがとうございます。
現在、示して頂いたスクリプトを理解しようと勉強しています。しかし、
理解した上で改造するまでに、ちょっと時間がかかりそうなので(※)、
先にお礼を申し上げます。
※ ->とか、selectとかの概念がまだ無いので、アルゴリズムがまだ
        理解できずに停止しています。
また、進捗があったら、ご報告します。本当にありがとうございます。

# http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl は、
# ひょっとして、僕の質問のために作って頂いたものですか?
# だとしたら、大感激です! ←違っていたらすいません。

Yuuki様;
どうも貴重な情報、ありがとうございます。
早速ダウンロードして、68userさんのecho.plを実行したら、とりあえずforkは
するみたいなのですが、残念なことに、forkしたとたんに、子プロセスが一般保護
違反を起こしてしまう(kernel32.dll)みたいです。多分、僕の環境が一般的じゃ
ないので、それが原因じゃないかな、と思っています。現在、解析中です(←時間
がかかりそうですが・・・)。
因みにcygwin32はB20(full.exeのほう)です。perl -vは以下の通りです。
This is perl, version 5.005_62 built for cygwin
折角情報を頂いたのに、生かせなくって、申し訳ないです。

No. 758 # 68user 2000/02/28 (月) 03:59
> selectとかの概念がまだ無いのでアルゴリズムがまだ
> 理解できずに停止しています。
考え方は http://X68000.startshop.co.jp/~68user/net/echo-4.html
同じです。モジュールを使うことで、ちょっとだけすっきりと書けます。
ここらへんは、そのうち web で解説を書くつもりです。

> ひょっとして、僕の質問のために作って頂いたものですか?
自分で使おうと思って、たまたま作ってました :-)
一応、GET だけはできるレベルのものを置いておきます。
    http://X68000.startshop.co.jp/~68user/tmp/1st-proxy.pl
shutdown あたりが とてもあやしい。

> cygwinに入っているPerlはforkが使えるそうです。
あ、そうなんですか。Windows 環境で perl を動かした
ことがないので、適当に書いてしまいました。

No. 759 # 68user 2000/02/28 (月) 20:05
http proxy は結構難しいですね。シグナルが飛んできたり、
コネクションを切断できなかったり、ファイルディスクリプタが
解放されなかったり…といったバグに苦しみながらも、3日かかって
やっと書き上げました (でも HTTP/1.1 には未対応)。
# perl が panic で落ちるのを初めて見た。

でも、ネットワークプログラミングに関する理解力を試すには、
絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。
# というわけで、完成版は出しません :-)

No. 760 # へにか [URL] 2000/02/28 (月) 22:48
いろいろ、ありがとうございます。早速ダウンロードして解析してます。
まだまだ、分からないことばかりですが、何とかふんばって作ってみます。
でも、68userさんが3日かかって作り上げたってことは、僕はどのくらい
かかるのか、考えただけでも恐ろしくなります。いつになるやら・・・

もっとも、試行錯誤して自作するのは結構楽しいので、以下の、
>でも、ネットワークプログラミングに関する理解力を試すには、
>絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。
># というわけで、完成版は出しません :-)
は、楽しみが残って嬉しいです。

>web で解説を書くつもりです。
楽しみにお待ち申し上げます :>

# ># perl が panic で落ちるのを初めて見た。
# 僕も見られればいいなぁ、と妄想してます・・・

No. 761 # 金床 [URL] [E-mail] 2000/02/29 (火) 21:49
みなさんはじめましてこんにちは。
今日はじめてこのページを見たのですが、いやはや素晴らしい内容ですね・・
さんざん苦労して色々なところで得た知識(+α)がここに・・・(笑

私は最近Winでのネットワークプログラムに凝っているものです。
簡単なHTTPやSMTP、POP3クライアントはBorland C++ BuilderでWinsockを使い作成したこともあります。

さて実は質問があるのですが・・・
現在DNSサーバーからのMXレコードの取得のプログラムを作っています。(リゾルバもどき?)
メールアドレスに対し送信先のSMTPサーバーのアドレスを調べる簡単なクライアントです。
さてそこで問題となるのが問い合わせを行うDNSサーバーです。
私はダイアルアップでインターネットに接続しているのですが、接続した状態でwinipcfgを実行すると
「DNSサーバー」の欄にDNSサーバーのIPアドレスが入ります。
ダイアルアップを終了するとこの表示が消えます(当たり前かもしれません)。

このDNSサーバーのアドレスをプログラム内で取得したいのですが・・・一体どうやれば良いのでしょうか。
もし何かしらご存じでしたらお教え頂けるとありがたいです。

No. 762 # 68user 2000/03/01 (水) 01:17
> このDNSサーバーのアドレスをプログラム内で取得したい
こればっかりは OS に尋ねるか、設定ファイルを見るか、
ユーザに手動で入力させるか、くらいの手しかないんじゃ
ないでしょうか。

winipcfg の出力を見るってのはダメですか?
# 美しくないですけど。

No. 763 # kuw 2000/03/01 (水) 09:36
こんにちは。いつも勉強させていただいています。
> DNSサーバーのアドレスをプログラム内で取得したいのですが
RasGetEntryProperties で取得できるような気がします。
RASENTRY 構造体の ipaddrDns が、
> Specifies the IP address of the DNS server to be used while
> this connection is active.
だそうです。
NT で無事に取得できた覚えがあるのですが、かなり昔のことなので
記憶が曖昧です。

No. 764 # 金床 [URL] [E-mail] 2000/03/01 (水) 20:44
68userさん、kuwさん、お返事ありがとうございます。
>ユーザに
出来れば使う人にDNSサーバーを意識させないで(設定の必要なしに)
動かしたかったのです。。
>RasGetEntry
おお、ありがとうございます。そうか、こういうのがあったのか・・・とヘルプを見ましたが、
NTのみとのこと・・(涙
実はダイアルアップでない、LAN内の端末でも使いたいという希望もあるんです。

おとなしくあきらめてユーザに設定してもらおうかな(^-^;;
本当にありがとうございました。

CGIのperlスクリプトなどについてもここで勉強させていただきます。
それでは失礼致します。

No. 765 # 68user 2000/03/01 (水) 21:32
Windows は全く知らないのですが、
    open(IN,"winipcfg|");
    while (<IN>){
        last if ( ($ip_addr) = m/(\d+\.\d+\.\d+\.\d+)/ );
    }
てな感じで取得できないんでしょうか?

No. 766 # 龍華 2000/03/01 (水) 23:22
リリィさん、霊山の寺の中に、隠し通路があって、その奥に宝箱が2つあって、その内の1つに扉を開けるための、『大きな鍵』がありますよ。

No. 767 # kuw 2000/03/01 (水) 23:54
Windows も UNIX も Perl も中途半端にしか知らないので、
誤解しているかもしれないのですが、、、
winipcfg は 標準出力に結果を吐き出すのではなくて、
ウィンドウが出てきます。
しかも、そのウィンドウで、[詳細ボタン]をクリックして
はじめて DNS サーバが表示されます。
ですので、winipcfg の結果から DNS サーバを取得する
のは容易ではない気がします。
# 不可能ではないのだろうけど。

No. 768 # みさ [E-mail] 2000/03/02 (木) 07:57
はじめまして・・・
こちら 大阪のヒトです。
突然ですが 最近 日曜日の夜中に「ニキータ」のTV版をみて はまりまくってます。
で 「ニキータ」情報を知りたくて 検索したのですが・・・
どなたか TV版「ニキータ」について 教えて下さい!!!
お邪魔しました ☆

No. 769 # 68user 2000/03/02 (木) 20:35
> winipcfg は 標準出力に結果を吐き出すのではなくて、
> ウィンドウが出てきます。
ああ、なるほど。だから金床さんは お困りなわけですか。
全く話が見えてませんでした。失礼。

> どなたか TV版「ニキータ」について 教えて下さい!!!
> 『大きな鍵』がありますよ。
たまにゲームなどの話題が出てくるので、なぜだろうと
不思議に思ってたんですが、もしかして SEGA BBS の
過去ログを見てこちらに書き込まれたわけですかね?
# http://X68000.startshop.co.jp/~68user/segabbs/bbs1/vol390/390_432.html

うちに置いてあるのは、昔の SEGA BBS の過去ログですので、
発言できません。こちらへどうぞ。
    http://www.sega.co.jp/sega/p_cafe/bbs.html

No. 770 # かむい 2000/03/03 (金) 02:39
こんにちは。

僕は研究室配属でUnixマシンとご対面になります。(構造解析用)
で、ちょっと触ってみたんですが難しかったです。(^^;
一応結構速いマシンなので使いこなそうと思ったんですが、
root権限貰う予定なので下手にいじりすぎるのもどうだろうと思いました。
OSはSunなんですが、今のところ画面も256色しか出ていません。
追々勉強して使いこなそうとは思っているんですが、
SCSIのHDを買ってきてそれにNTを入れたらどうなるのかと思って質問に来ました。
NTを使うときはUnixは完全に切り離して壊さないようにしたいんですけど、
ルートドライブ以外にNTを入れる事って可能なのでしょうか?
また、出来ればNTの方は管理者専用(笑)にしたいのですが
Dualbootに関して問題とか生じないでしょうか?
僕以外はPC使えない人なので一人でWSでインターネットしながら・・・
と目論んでいるのです。(笑)

要約すると、Unixは大事に使い、NTを別のHDに入れて普段はこちらは使いまくると言うわけです。
HDを切り離しててもフリーズしたりするとUnixの方のHDもちょっと心配ですね。怒られない程度にやる予定ですが(^^;

No. 771 # 68user 2000/03/03 (金) 03:17
もちろんマシンは Ultra なんとかじゃなくて
PC/AT 互換機なんですよね?
> 一人でWSでインターネットしながら
と書いてあって、ちょっと気になったもので。

> Dualbootに関して問題とか生じないでしょうか?
これに関してはこちらを。
    http://www.pfu.co.jp/x86/faq/other-002.html

> ルートドライブ以外にNTを入れる事って可能なのでしょうか?
すいませんが、NT は全くわかりません。

> HDを切り離しててもフリーズしたりするとUnixの方のHDも
> ちょっと心配ですね。
うーん、完全に2台の HDD に分けるなら、あまり心配すること
ないんじゃないでしょうか。と、個人的には思います。

Solaris も Windows も守備範囲外なので、いまいち
お役に立てず すいません。
# 僕の知識はとても狭く、なおかつとても浅いので (^^;

No. 772 # かむい 2000/03/03 (金) 07:56
えっと、compacのalphaマシンなので
いまいち分かってないです。(^^;
NTも乗せられるとは思うんですが。

ありがとうございます

No. 773 # 元隣人(GPZ900R) 2000/03/03 (金) 22:15
おひさしぶりです.
一つ教えて下さい.
mule(emacs)で,lexまたはyaccのコーディングをしたいのですが,
lex-mode, yacc-modeというのはあるのでしょうか?

No. 774 # 68user 2000/03/03 (金) 22:38
> えっと、compacのalphaマシンなので
えっ、alpha 対応の Solaris ってあるんですか?
あと 最新の NT って alpha で動きましたっけ。
# すいません、全然知らないので…。

> 元隣人(GPZ900R)
> おひさしぶりです.
おひさしゅうございます。2週間ぶりですけど :-)

> lex-mode, yacc-modeというのはあるのでしょうか?
昔 fj で教えてもらったものを置いておきます。どこから
取ってきたかは忘れました。
    http://X68000.startshop.co.jp/~68user/tmp/bison-mode.el
    http://X68000.startshop.co.jp/~68user/tmp/yacc-mode.el
常用してないので、どちらが使いやすいかはわからないです。

{lex,flex}-mode は聞いたことがないです。みんな c-mode で
やってるんですかね?

No. 775 # 岡本正浩 [E-mail] 2000/03/04 (土) 00:36
関西のソフマップにNTTのモバイル3の在庫はありますか?

No. 776 # かむい 2000/03/04 (土) 05:05
>えっ、alpha 対応の Solaris ってあるんですか?
>あと 最新の NT って alpha で動きましたっけ。

色々調べてみたんですが、
どうやらNTは載らないみたいです。(compaqがサポートしてないのかも知れないけど)
alphaでNTが動く物も有るようですがよく分かりません。
で、Tru64 UnixというのがOSな気がします。
そうなるとUnixを勉強するしかないようです。(^^;

No. 777 # 68user 2000/03/04 (土) 06:58
> どうやらNTは載らないみたいです。
NT4.0 は動くみたいですけどね。
# NT5.0 って出てるのか知らないけど…。
## NT5.0=Windows2000?

> Tru64 UnixというのがOSな気がします。
Tru64 以外で動くのは、NetBSD、FreeBSD、Linux あたりでしょうか。

No. 778 # かむい [URL] 2000/03/05 (日) 00:22
一般ユーザーで持ってる人は少ないと思います。
Tru64Unixなんて初めて聞いたOS名でした。(^^;
しょうがないのでLinuxを入れるかも知れません。
UnixをDualbootなんて出来るんでしょうか?
#NT5=Win2000と考えて良いと思います

NT4.0が動くとして、ドライバとかって有るんでしょうかね?
とりあえず、4月になって院生が居なくなったら僕が使えるようになるので(笑)

No. 779 # 68user 2000/03/05 (日) 10:39
> UnixをDualbootなんて出来るんでしょうか?
多分 Alpha Station のアーキテクチャは PC/AT と異なる
だろうから、専用のブートローダが要るんでしょうね
(ほんとか?)。まぁでも、誰かが作ってるでしょう。多分。

これ以上は僕にはさっぱりわからんので、fj や Linux 関係の
メーリングリストで質問してみて下さい。

No. 780 # Manabu Takayama [URL] [E-mail] 2000/03/06 (月) 04:49
どうも。高山です。

現在 Perl の syntax を絶賛嫌悪中(意味不明)。
あの $ やら % やら @ やら & を見ると殺意が沸きます(笑)。

# 1 ヶ月後には謎の世界な気が。二次元配列とか作るの面倒だし……。

tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。
Ruby で書けたら嬉しいと思う今日この頃。

# ちなみにバグを 1 ヶ所発見しました。tmpl2html を通した後に
# 余計な改行が入るという物です。

No. 781 # 68user 2000/03/06 (月) 06:12
> tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。
iso-2022-jp 化は、おまかせします。はっきり言って、
メリット云々じゃなくて美意識の問題ですよね?

あと、EUC 化するとしたら、ついでに jcode::euc2jis/jis2euc を
削って直接 EUC の HTML を書き出すようにしていただけませんか?
# ちょっと CGI が重すぎるので、処理を減らしたい。

> Ruby で書けたら嬉しいと思う今日この頃。
まだ ruby は初心者同然なので、既存のスクリプトの書き換えは
ご勘弁を。でも新規スクリプトなら…ruby でも…いい…かな…?
でもあんまり難しいことしちゃイヤ (^^;

No. 782 # Manabu Takayama [URL] [E-mail] 2000/03/07 (火) 07:34
> メリット云々じゃなくて美意識の問題ですよね?
嫌な事態への予防策です。確立的には結構低いでしょうけど。
でも、熊谷さんが待ったをかけていますので、まだしません。
# む〜。僕の勘違いだったりするのかな?

美意識の方は、持ち出すと際限が無いので(笑)。考慮外。

> まだ ruby は初心者同然なので、既存のスクリプトの書き換えは
僕も初心者同然ですけど、触ってると面白いです。
それにオブジェクト指向な所がいいです。僕は Java から入ったので、
実はかなりオブジェクト指向大好き人間なのですよ。フフフ(笑)。

No. 783 # Yuuki 2000/03/08 (水) 00:22
CVSって最近までなんのことだかさっぱりわからなかったんですよ。

ちょっと前いじってみようと思って、Windows版のCVS(WinCvsじゃなくてコマンドラインの)
がダウンロード出来る所まではわかったものの使い方がわからずにそのままでした。:-)
それで今日、何気に高山さんのホームページを見たらCVSの項目があったので
そこのページを見ながらやってたら、とりあえず使えるようになりました。(^^;
しかし、もう、必需品となりつつある。

とりあえず使えるようになった所で、以前は謎だった
http://www.ruby-lang.org/ja/download.html
pserverをお使いの方は〜 に書いてあるとおり打ちこんだら
ダウンロードが始まって、、その時はすごい嬉しかったです。(^^;

今度はVineLinuxにCVSをインストールしてWindows側から管理出来るようにしてみたいな・・と。
# 何が言いたいのかよくわからない書きこみになってしまった。:-)

No. 784 # 68user 2000/03/08 (水) 12:28
> でも、熊谷さんが待ったをかけていますので、まだしません。
あれは待ったなのかな? 別に問題ないんじゃないでしょうか。

なお、僕の方は3月15日前後から暇になります。運用開始は
今月中の予定。でも予定は未定 :-)

> CVS
/etc/* とか、個人用 dot file とか、ここの web page も
cvs で管理したいんだけど、なかなか…。

No. 785 # Manabu Takayama [URL] [E-mail] 2000/03/08 (水) 23:07
> それで今日、何気に高山さんのホームページを見たらCVSの項目があったので
あ。役に立ちましたか。良かった。CVS 便利ですよね。
# そいえば自分のウェブ随分更新してない……。

僕は自分のウェブを CVS で管理してますが、
$Id$ などで更新時間を表示できるので楽です。

> 運用開始は今月中の予定。でも予定は未定 :-)
早く運用始めないと忘れ去られそうですね(汗)。
# 既に忘れられてるかも……(苦笑)。

No. 786 # 68user 2000/03/08 (水) 23:33
> # 既に忘れられてるかも……(苦笑)。
ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^;

> http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2
ほえ〜。

No. 787 # Yuuki 2000/03/09 (木) 15:34
> # そいえば自分のウェブ随分更新してない……。
CVSの項目に
http://www-vox.dj.kit.ac.jp/%7enishi/cvs/cvs-manual/cvs-jp_toc.html CVSの説明書日本語訳?
http://www.freebsd.org/~fenner/cvsweb/ CVSWEB
を追加しとくのはどうでしょうか?


前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。
(http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=756)

http://x68000.startshop.co.jp/~68user/net/sample/echo-server-fork.pl
をまったく変更しなくてもWindowsで動きます。
その時のスクリーンショットを、、:-)

まずは1つのtelnetで...
http://homepage1.nifty.com/tyuuki/68user/mt_echo/client.png
http://homepage1.nifty.com/tyuuki/68user/mt_echo/server.png

2つ同時にアクセスされても大丈夫。
http://homepage1.nifty.com/tyuuki/68user/mt_echo/thread.png

No. 788 # へにか [URL] 2000/03/09 (木) 22:47
Yuuki様;
forkできているみたいですね! 情報ありがとうございます。
僕は、会社のマシンで実験したのですが、やっぱり落ちてしまいます・・・
なので、あきらめていたのですが、まだ検討の余地があるってことですね。
う〜ん、なんでだろう? ←自問自答です。

68user様;
すいません、やっとselectの概念がわかったのと、以前いただいた
スクリプトを試してうまくいっているところまでしか進んでいません。
まだまだ道のりが長そうです。なかなかいい報告ができないので、
心苦しいです・・・

No. 789 # お嬢(♂) [E-mail] 2000/03/10 (金) 00:48
はじめまして。
これからUNIX(LINUX)を導入して、ネットワークプログラミングを
勉強しようとしている者です。
まだ全部読んでませんが、このページはすごくわかりやすく、
しかも私のレベルに合っているので重宝します。
これからも、この調子で更新していってください(^^)

68userさんはすべての作業をX68000でやられているのですか?(^^;

No. 790 # Manabu Takayama [URL] [E-mail] 2000/03/10 (金) 03:26
ん〜。眠いぜ。

> ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^;
たまに「この作業報われない?」と思う瞬間があります(笑)。
某 www-links-core ML も、ほぼ二人の世界ですし。

> http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2
何か段々商業色が強くなっていくようで、個人的には嬉しくないです。
最近の FreeBSD はどうも妙な方向に向かいつつあるみたいな感じが。

No. 791 # ハリー [E-mail] 2000/03/10 (金) 12:00
すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を
取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません
助けてください。
よろしくお願いします。

No. 792 # 68user 2000/03/10 (金) 14:53
> 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。
なるほど。fork できる Win 用 perl *も* あるってことでしょうか。

> すいません、やっとselectの概念がわかったのと、以前いただいた
> スクリプトを試してうまくいっているところまでしか進んでいません。
ま、一歩ずつ着実に…。

> 68userさんはすべての作業をX68000でやられているのですか?(^^;
Using FreeBSD with X68000 spirit ということで :-)

> すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を
> 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません
僕もわかりませんので、FreeBSD-users-jp などで質問して下さい。
なお、こういう質問の仕方では「何がわからないのか、デバイスが
認識されないのか、設定方法がわからないのか」などの情報が全く
書かれていないので、投稿する際は そこらへんを詳しく書いて下さい。

あと、
    http://www.jp.FreeBSD.org/search.html#doc
で、DDS で検索するといくつか引っかかります。

No. 793 # かむかむ 2000/03/10 (金) 15:32
こんにちは。
はじめて投稿さしてもらいます。
smbclientコマンドのオプション-Mってありますよね。
UNIX→WinPCへの送信はOKなんですが、
WinPC→UNIXへの送信メッセージってどうやってWinPCのメッセージを参照
するのですか?
#ちなみに、使用UNIXはRedHat LINUX5.2(J)です。
宜しくお願い致します。

No. 794 # むらた [URL] [E-mail] 2000/03/11 (土) 05:31
こんばんわ。どーしても FTP が作りたくなったので、探して
みたら辿り着きました。 FTP の資料を探していたくせに、
いま調べまくって Proxy を VisualBasic で作成中です。
  RFC を読んでからにするべきなんでしょうが、すでに
コンテンツや画像の中継機能は実装できていますが、マルチで
まともに動くのが怪しい VB で作っているのと、状態遷移図を
書かずにやってるのとで、サーバからのデータを取りこみ
きれずにソケットが閉口(笑)してしまいます。

    単純なデータ処理なら既に完成しているんでしょうが Java を
横目で眺めつつ、ノウハウの蓄積などと嘯いております。

    ドカチンプログラマ(Oracle屋さん)なので、そっち方面では恩返しが
出来ると思いますが、メインはやっぱり Windows なので、Oracle on
  Unix となるとちょっと…。しかも Socket やってるくせに私は
C/C++が使えません(^^;)とはいえ NetBSD/X68k なんかも知ってたり
して、支離滅裂なコンピュータ人生です。

またちょくちょく顔を出させてください。でわまた。

No. 795 # Yuuki 2000/03/11 (土) 13:32
へにかさん
> forkできているみたいですね!
こっちの環境書くの忘れてました:-)
Windows98 Cygwin B20
Perl 5.005.62
(http://cygutils.netpedia.net/B20/perl-5.005_62.html)

cygwin1.dll
(ftp://gd.tuwien.ac.at/gnu/sourceware/cygwin/snapshots/cygwin1-20000306.dll.gz)

http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml
とか参考になるかもしれません。

No. 796 # お嬢(♂) [E-mail] 2000/03/12 (日) 02:21
また書き込んじゃいます。てへ。
なんかFreeBSDとBSD/OSの会社が合併するようですね。

Linux勢に押され気味のBSD勢ですが、今後はBSDも活気が
出てきますかね?

っていうか、まだLinuxかBSDか迷っています。
ノートPCで動かす予定なので、ノート関連の資料が多く揃っている(?)
BSDもいいなぁなんて。

No. 797 # へにか [URL] 2000/03/12 (日) 09:42
Yuuki様;
cygwin1.dllを入れ直したら、無事forkしました。
色々、ありがとうございます! 嬉しいです。
嬉しさのあまり、証拠画面を作成しました。
以下に示します。宜しかったらご覧ください。
http://henika.virtualave.net/echotest.gif

No. 798 # 68user 2000/03/12 (日) 18:11
> smbclientコマンドのオプション-Mってありますよね。
すいません、samba の設定をしたことがないのでわかりません。

> いま調べまくって Proxy を VisualBasic で作成中です。
HTTP proxy ですか? それとも ftp?

> 状態遷移図を書かずにやってるのとで、サーバからのデータを
> 取りこみきれずにソケットが閉口(笑)してしまいます。
あ〜、普通 状態遷移図を書くもんなんでしょうか。
僕は素人なので思いつくままコーディングしている
のですが。その結果、close でソケットが閉じず、
shutdown しなきゃならないプログラムが出来上がりました (笑)。

> なんかFreeBSDとBSD/OSの会社が合併するようですね。
FreeBSD Project に資金提供して、その見返りとして CD-ROM を
売っている (と言っても、誰でも CD-ROM を売ってもいいんです
けどね) Walnut Creek と、BSD/OS を作っている BSDI が合併、
ということです。念のため。

個人的には、OpenBSD,NetBSD 陣営とも一本化してほしいもんです。
人手が分散するのが惜しい。Linux 界も、あそこまでディストリ
ビューションを乱立させることもないと思うんですが…。

> へにかさん、Yuuki さん
Windows ユーザへの注意点とか、ここから perl を落とせとか、
そこらへんがまとまってるリンク先があれば、
    http://X68000.startshop.co.jp/~68user/net/
に付け加えますが、何かいいところはありますか?

No. 799 # むらた 2000/03/12 (日) 21:36
いまつくってるのは、なぜか http-proxy です。
状態遷移図とかは、商売上お客さんに納入しないとだめなときが
ありますが、あればあったで、自分が混乱したときに役立ちます(笑)

No. 800 # PUYO [E-mail] 2000/03/13 (月) 19:22
質問です。
wwwboardに以下のような行がありますが、
print <CACHE>;
これは my @line = <CACHE>; print @line;
と同じような動作をするのでメモリに負担がかかるような気がするのですが
どうなのでしょう?

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