質問があります。よろしくお願いします。 % ls ファイル名 とした時に該当ファイルが無かった場合 ls:No match. と出ますがこのメッセージを出さない方法が ありましたら教えて下さい。 |
> C++で作成したDLLを、UNIX上で使えるようにしたいのです。 Windows は全く知りませんが (DLL ってランタイムライブラリ ですよね? というくらいしか知らない)、DLL を UNIX に 持ってくるのはさすがに無理でしょう。 C++ のソースを持ってきて、ar でアーカイブ作るか、ld で ランタイムライブラリを作るのがまっとうな方法だと思います。 > ls:No match. > と出ますがこのメッセージを出さない方法 「No match」が出るのは 「tcsh で、ワイルドカードを使って、マッチしなかったとき」 だと思いますが、 % (ls hoge* >/dev/tty) >& /dev/null で、標準エラー出力をリダイレクトするとか、 % set nonomatch % ls hoge* として、マッチしなかったときにエラーにさせないようにするとか、 % set noglob % ls hoge* として、最初からワイルドカードを展開させない、などの方法があります。 |
はじめまして。 perlでメールを受信する方法を調べていたところ、こちらの掲示板を 発見しました。 お尋ねしたいことは、pop3サーバーからメールを受信し、そのメールの 添付ファイルをWindowsのフォルダに保存する方法です。 UNIXやCGIの経験が全く無い素人なもので、なかなかうまくいきません。 参考になるURLや書籍等もありましたら教えていただけないでしょうか。 OSはWindowsNT4.0又はWindows95です。 宜しくお願いします。 |
POP へのアクセスは http://X68000.startshop.co.jp/~68user/net/ を読んで下さい。 multipart メールをバラすのは、perl の MIME-tools モジュールで できそうな感じです (試したことないので)。わからなかったら また質問して下さい。 |
> multipart メールをバラすのは、perl の MIME-tools モジュールで perl の MIME-tools、IO-stringy、MailTools モジュールを 入れて、perldoc MIME::Parser のサンプル通りやってみたら あっさりできました。モジュールに頼ると簡単だなぁ。 |
: : 信じられないけど本当の話。 : : 私はある日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円出せばすごい大金が手に入ります!!!(上記のことから) : : このチャンスを大事にしましょう!!! |
はじめまして。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 |
> (Might be a runaway multi-line "" string starting on line 33) > (Missing semicolon on previous line?) 「33行目から始まる "" が閉じてないのではないか?」 「前の行の最後にセミコロンを付け忘れていないか?」 ということでしょう。 > $ret = `$whois $domain\@$nics{$nic}`; これ自体は問題ありません。 |
68Userさん、早速のお返事有り難うございます。 スクリプトは確認したと思うのですが、再度、確認してみます。 もし、また分からないことがあれば、お聞きするかもしれませんが、 よろしくお願い致します。 Ta |
度々すいません。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 |
とりあえず、 > 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; } てな感じでチェックするといいでしょう。 |
初めまして〜m(_ _)m ちょっと聞きたい事があるのですが、unixでmoにデータをセーブするにはどうすればいいんでしょうか? 環境はあるみたいなのですが、やり方が分かりません。 因みにroot権限はないです。 unixはsolarisです。 |
68Userさん、色々とアドバイス有難うございます。 どうしてもうまくいきません。'nkf'のパスが間違っているのでしょうか? ('environment.pl'を使わない方法で行ってみました) 'whois'も、結局、調べたところ、'/bin/whois'でしたし・・・ 今晩、また挑戦してみます。 |
まずは #!/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/ 僕自身は経験がないのでわかりません。 |
「HTTP クライアントを作ってみよう」と、2000/01/12(水) 20:56の proxyに関する書き込みを参考にしたら、簡単なproxyサーバーが、 簡単に作れました。ありがとうございます! # でも、数行の追加じゃ済まなかったなぁ。もっと修行すれば # 出来るようになるんだろうけど・・・ |
なにやらいろいろ大変そうですね。 ところで掲示板の話なんですが…。 ログの管理とか、なんかいい案浮びました? 俺はあんま考えてないですけど。 それとうちの掲示板、過去ログ一覧をちょっと 並べ替えてみました(なにやってんだか…)。 もしよかったら使ってやって下さい。 それではまた。 |
> # でも、数行の追加じゃ済まなかったなぁ。 そうでしたか。実際に作ってみたわけではないので、そうかもしれません。 ただ、実用で使おうとすると、マルチスレッド化しないといけませんが、 その場合は結構行数は増えますね。 > ログの管理とか、なんかいい案浮びました? ログを1つのファイルにまとめるか、1.txt・2.txt…と分けるか、ですか? 実際のところ、それぞれメリット・デメリットがありますから、難しいですね。 # <Email ....> 方式はやめようと思ってます。<Email>....</Email> スタイルに # するつもり。 それはそれとして、後者のログ管理方式にしてくれ、ということなら どちらでも選べるように改造しますけど どうします? > 過去ログ一覧をちょっと並べ替えてみました 個数が多くなると、見やすいですね。参考にさせていただきます。 ところで ML の件ですが、has のところでやってもらえません? うちは後任の管理者がいないので、この時期に始めるのはあきらめました。 |
やっと、自力でCGI設置出来ました。 CGIをやろうとしてから実に二年もかかってるんですけど パーミッションとperlと言う言葉の意味がやっと分かりました 次は自作に燃えて居たら、CGI プログラムのはじめの一歩 って言うコンテンツが在ったので嬉しいです。perlパソに入れて CGIの本買ってきますよー。なんか、CGI設置できたのが 嬉しくて、68userさんに報告がしたかったのですー ヒトの作ったCGIがうごいたってだけなんですけど、嬉しかったです。 |
> perlパソに入れて CGIの本買ってきますよー。 それはよいことで御座います。やはり自作するのが一番楽しいわけで、 ぜひ勉強してみて下さい。 ただし、他人に聞く前に「まず本を読む、まず自分で調べる」という ことは必ず行うようにして下さい。自分で調べられない・自分で 調べる気のない人は、上達しませんから。 |
はじめまして、たまりと申します。 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が「受信が完了しました」と言わない」)という症状は改善されません。 なお、環境の制限により、シングルスレッドで書いています。 これは、環境による原因があるのでしょうか? それともコーディング上の問題があるのでしょうか? よろしければご教示下さい。 |
> ファイルが送信し終わるまでに接続を切られてしまい 何バイト送ったら切れる、などという再現性はありますか? 1バイトずつ送ってみるとどうでしょう。また、切れるのは データコネクションですか? コマンドコネクションですか? > FTPdがファイルハンドルを解放しないような状態 というのは具体的にはどういう状態ですか? これもデータコネクションかコマンドコネクションかを教えて下さい。 あと、このコードの前後数行を見せてもらえますか? > HDの転送速度が追いつかないのかなと思い これはさすがにないと思いますよ。Windows といえども OS ですから、 そこらへんはきっちりやってくれるでしょう。 ちょっと急いでいるので、この辺で。 |
> これはさすがにないと思いますよ。 仮に HDD がとても遅かったとしても、 >> while (<IN>) { でブロッキングするだろうから、読めなかったけど処理が 先に進むなんてことはないと思う、ということです。 # ここでブロッキングしてくれないと、OS の意味がない。 |
初めまして、セガBBSの過去ログ凄いです、 ご苦労様としか言えません、 また、じっくり見させてもらいにきます、 (今からみるんだけど、、、) |
> 何バイト送ったら切れる、などという再現性はありますか? 再現性はないようです。 接続が切られた時点でのサイズは不定でした。 > 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バイトずつを試してみます。 |
あ、すいません、訂正です > &send_command(COMMAND, "QUIT$CRLF"); &send_command(COMMAND, "QUIT\r\n"); です。 # 普段$CRLF="\r\n";でやってるもので(^^; |
> メリクリウスさん メールの返事をここでさせて頂きますが、人の多いところから リンクしちゃダメなのは、お肉さんのところです。うちは どこからリンクしても構いませんです。 > 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 だけかもしれない…。 調べておかねば。 |
はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 「七ツ風の島 物語」というゲームなのですが・・・ (知っている人、いるかなぁ・・・) 第11章 『小さくてキレイな物』・・・で、どうしたらいいのか、わかりません。 あった事といえば、白ガラスのヒューと、カンぞうに会った事です。できれば、わかる人、教えてください。よろしくお願いします。 |
返事が遅くなって申し訳ないです。 ここ二日ほど色々あって何もできませんでした(^^; > 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を指定しておけば不要かと思います。 ありがとうございました。 |
> はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 ここにはゲームに詳しい人はあまりいないような気がします…。 > どうやら原因は >> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない > だったようです。 なるほど。ちょっと不親切な ftpd ですね (と僕は思う)。 > ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。 なんででしょう。調べてみよう。 > また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。 ああそうか。(Cでいうところの) open でも改行コード変換できるんですね。 > こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。 > 調べておかねば。 これは Solaris の ftpd でも同じでした。変なの。 |
はじめまして、ハリーと申します。 実は今、Kシェルを作っているんですが、シェル内で exportコマンドを打って環境変数を変更しようとし てもできませんでした。普通にexportコマンドを打 ってもダメなんですか?それとも出来ないのですか? シェル初心者なので、よくわかりません。 よろしく、お願いします。 |
export HOGE=FUGA で できませんか。 |
はい。 シェルの中でenvを打つと変更した環境変数に変わっているのですが シェルが終ってもう一度、envを叩くと元に戻っています。 |
子プロセスでいくら環境変数をいじっても、親プロセスには 影響しません。これはどんなシェルでも同じです。 具体的に何をしたいのかがわからないのですが、 どうしてもやりたければ、eval を使うしかないです。 |
ありがとうございました。 やってみます。 |
はじめましてつると申します。 ネットワークプログラムについての質問なのですが、 今、いろいろと事情があって ここのページを参考にプロキシのようなサーバプログラムを 作成しております。 なにをするサーバかというと、ブラウザからのリクエストを受け取り そのリクエスト(GET,POST)を他のWebサーバにそのまま送りつけ そのWebサーバからのレスポンス(HTML)を受け取り、 ブラウザに返してやるサーバです。 このページのソースを参考にしています。 サーバ部分はecho-server.plを httpリクエスト部分はhttp-client.plを利用しましたが、 Webサーバまではリクエストが行っているようですが レスポンスがうまく表示されません。 なにか原因がわかりになるようでしたら 教えてください。 |
ソースはこんな感じです。 #!/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初心者のものですみません。 |
簡単に言うと、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 を中継できるように してみて下さい。 |
つるです。 早速のお返事ありがとうございます。 仕組みはだいたいわかるのですが 実際に作ってみるとなると・・・。 ネットワークプログラム初心者には かなりキツイです。 |
> 仕組みはだいたいわかるのですが こう言っちゃなんですが、自分ではわかっているつもりでも、 わかっていないのでしょう。 クライアントからのデータを読まないと、proxy サーバが どこに接続したらよいかは判断できないのに、先に接続 しようとしていますし、 GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0 を GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 に変換する処理もやってません。 ちょっとずつ作ってみて下さい。 |
つるです。 すいません。 説明不足でした。 >クライアントからのデータを読まないと、proxy サーバが >どこに接続したらよいかは判断できないのに、先に接続 >しようとしていますし、 実は、接続先は固定です。(IPアドレス指定です。) 特定のコンテンツサーバに接続しようとしてます。 >GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 >に変換する処理もやってません。 ブラウザからのリクエストは GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 ・・・ のように来るようにしてます。 そして、そのリクエストを そのまま(操作無しで) 接続先Webサーバに転送しようとしていますので・・・。 すいません、説明不足で・・。 とりあえず、もうちょっとがんばってみます。 参考にするとよいページがあったら 教えてくださると幸いです。 ご迷惑をおかけします。 |
とりあえず 2〜3日悩んでみて下さい。それでも わからなかったらまた質問して下さい。 |
はじめまして。 Solarisのnfsで質問したいのですが。 .nfsAA5A (下4桁はユニークな番号に変化する) というファイルを見たことはありませんか? クライアントマシンからあるシェルを起動すると 勝手に出来てしまって、困っています。 サーバマシン上では出来ないのですが。 心当たりがあれば、なんでも良いので教えて下さい。 |
> .nfsAA5A 昔 消せなくて困りましたが、管理者に聞いたら NFS で トラブルがあった際、作成されるファイルだそうです。 しばらくすれば勝手に消えるとか。 ただし、本当かどうかは知りませんし、どういうトラブルが あったら作成されるのかも知りません。 |
もし 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) ... あたりのようです。 |
ありがとうございます。 現在、NFS & NIS の設定がうまくいってないそう なので、その辺の影響かな? まずは、ちゃんと設定するようがんばります。(^^; |
いつも拝見させていただいてます 今c言語でcgiのプログラム書いてるんですが hoge.exe?data1=aa&data2=bb みたいに引数を渡してプログラムを直接呼びたいのですが、うまくデータが渡せません Formからだと正常に動作するんですがサーバーの設定が関係しているんでしょうか サーバーはwindows nt + iisです apachだとそのような事はないですか? |
> hoge.exe?data1=aa&data2=bb 情報が不足していますので、わかりません。 「FORM からだと正常に動作する」というのは、どういう ふうに呼び出しているんですか? 「引数を渡してプログラムを 直接呼びたいのですが」とはどういうふうに呼び出そうと しているんですか? |
いつも勉強させていただいてます。あたしもがんばります。 |
大江山と言う童謡か歌の歌詞知りませんか? |
スミマセンでした... hoge.exeは日付等を受け取りlogを集計して返すプログラムです まず送信フォームのhtmlはこんな感じです < form method=post action="cgi-bin/hoge.exe" > < select name="data1" size="1" > < option selected value="aa"> aa < /option > < option value="bb" > bb< /option > < /select > < INPUT TYPE="SUBMIT" VALUE="送信" > < /form > これを < A HREF=hoge.exe?data1=cc&data2=dd > hoge < /a > のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません お手数ですが情報お持ちでしょうか |
またスミマセン.... <>の書き方を間違えてしまいました |
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 を見てもよいでしょう。 |
ありがとうございます 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 ぜんぜん意識してませんでした(よく調べます) ほんとにありがとうございます。 |
promptの説明文の中にHTMLタグが表示されてましたよ % set prompt="%Sabc%s%Bdef%b%Ughi%u:" abc<b>def</b><u>ghi</u>: |
お久しぶりです、以前くだらない質問ばかりしていたものです(^^; CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか? 一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと もくろんだのですが見事に失敗しました。 open(SYS, "top|"); やはり甘かった。コマンドラインで top > hoge.txt としても取れないので top から取り込むのは駄目みたいですね。 オプションにもそれらしいものが見つかりませんでした。 FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。 面倒なんで試していませんが、一定の処理にかかった時間を測定して 負荷を調べようかと思うのですが・・・ これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^; あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に 数値を取れないと思ってますから。 何か方法を知っていましたら、よろしくお願いします。 OSはVineLinuxです。 |
> promptの説明文の中にHTMLタグが表示されてましたよ どうもです。直しておきます。 # 実は気づいていたんだけど、自作の変換フィルタをどう # 直せばよいのかわからくて悩んでいるところです。 > CGIでサーバーの負荷率 load average を求めたいなら uptime や rup localhost などが使えると思います。 > open(SYS, "top|"); 入力に tty を読んでるのなら、top < /dev/null で いけるかもしれません (ダメかも)。 なお load average は、違うマシンや OS と比較は意味が ありません。わかっておられるかもしれませんが、念のため。 |
uptimeの情報ありがとうございます。 なるほどこれなら何とかなりそうです。 手持ちのコマンドリファレンスには uptime のことが載っていません でしたが、man には掲載されていたので、これでうまくいきそうです。 /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも あまりの数に手を焼いていたところなので助かりました。 >入力に tty を読んでるのなら、top < /dev/null で やってみましたが駄目でした。 >なお load average は、違うマシンや OS と比較は意味が >ありません。わかっておられるかもしれませんが、念のため。 すいません、意味がよくわからないのですが、「この結果を元に ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 かを調べる用途に使うつもりです。 ありがとうございました。 |
> 「この結果を元にほかのサーバーと比較するには意味が無い」 そうです。「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' などとするのも一つの手ですね。 |
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た ところ、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をインストールしよう かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。 |
> どうも僕の環境(後述)では不可能みたいです。 Windows では fork は使えませんので、select を使うしか ないですね。 IO::Socket と IO::Select を使って http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl こんな感じでしょうか。本当に実用段階まで持ってくには まだまだ機能追加、バグ取りをしなきゃいけませんが。 ポイントは、全てのソケットからのデータを select 経由で 受け取ること。今はそうなってませんので、1つのソケット からのデータが遅れると、そこがボトルネックになってしまいます。 |
> Windows では fork は使えませんので cygwinに入っているPerlはforkが使えるそうです。(試していません。) http://sourceware.cygnus.com/cygwin/ |
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 折角情報を頂いたのに、生かせなくって、申し訳ないです。 |
> 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 を動かした ことがないので、適当に書いてしまいました。 |
http proxy は結構難しいですね。シグナルが飛んできたり、 コネクションを切断できなかったり、ファイルディスクリプタが 解放されなかったり…といったバグに苦しみながらも、3日かかって やっと書き上げました (でも HTTP/1.1 には未対応)。 # perl が panic で落ちるのを初めて見た。 でも、ネットワークプログラミングに関する理解力を試すには、 絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 # というわけで、完成版は出しません :-) |
いろいろ、ありがとうございます。早速ダウンロードして解析してます。 まだまだ、分からないことばかりですが、何とかふんばって作ってみます。 でも、68userさんが3日かかって作り上げたってことは、僕はどのくらい かかるのか、考えただけでも恐ろしくなります。いつになるやら・・・ もっとも、試行錯誤して自作するのは結構楽しいので、以下の、 >でも、ネットワークプログラミングに関する理解力を試すには、 >絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 ># というわけで、完成版は出しません :-) は、楽しみが残って嬉しいです。 >web で解説を書くつもりです。 楽しみにお待ち申し上げます :> # ># perl が panic で落ちるのを初めて見た。 # 僕も見られればいいなぁ、と妄想してます・・・ |
みなさんはじめましてこんにちは。 今日はじめてこのページを見たのですが、いやはや素晴らしい内容ですね・・ さんざん苦労して色々なところで得た知識(+α)がここに・・・(笑 私は最近Winでのネットワークプログラムに凝っているものです。 簡単なHTTPやSMTP、POP3クライアントはBorland C++ BuilderでWinsockを使い作成したこともあります。 さて実は質問があるのですが・・・ 現在DNSサーバーからのMXレコードの取得のプログラムを作っています。(リゾルバもどき?) メールアドレスに対し送信先のSMTPサーバーのアドレスを調べる簡単なクライアントです。 さてそこで問題となるのが問い合わせを行うDNSサーバーです。 私はダイアルアップでインターネットに接続しているのですが、接続した状態でwinipcfgを実行すると 「DNSサーバー」の欄にDNSサーバーのIPアドレスが入ります。 ダイアルアップを終了するとこの表示が消えます(当たり前かもしれません)。 このDNSサーバーのアドレスをプログラム内で取得したいのですが・・・一体どうやれば良いのでしょうか。 もし何かしらご存じでしたらお教え頂けるとありがたいです。 |
> このDNSサーバーのアドレスをプログラム内で取得したい こればっかりは OS に尋ねるか、設定ファイルを見るか、 ユーザに手動で入力させるか、くらいの手しかないんじゃ ないでしょうか。 winipcfg の出力を見るってのはダメですか? # 美しくないですけど。 |
こんにちは。いつも勉強させていただいています。 > DNSサーバーのアドレスをプログラム内で取得したいのですが RasGetEntryProperties で取得できるような気がします。 RASENTRY 構造体の ipaddrDns が、 > Specifies the IP address of the DNS server to be used while > this connection is active. だそうです。 NT で無事に取得できた覚えがあるのですが、かなり昔のことなので 記憶が曖昧です。 |
68userさん、kuwさん、お返事ありがとうございます。 >ユーザに 出来れば使う人にDNSサーバーを意識させないで(設定の必要なしに) 動かしたかったのです。。 >RasGetEntry おお、ありがとうございます。そうか、こういうのがあったのか・・・とヘルプを見ましたが、 NTのみとのこと・・(涙 実はダイアルアップでない、LAN内の端末でも使いたいという希望もあるんです。 おとなしくあきらめてユーザに設定してもらおうかな(^-^;; 本当にありがとうございました。 CGIのperlスクリプトなどについてもここで勉強させていただきます。 それでは失礼致します。 |
Windows は全く知らないのですが、 open(IN,"winipcfg|"); while (<IN>){ last if ( ($ip_addr) = m/(\d+\.\d+\.\d+\.\d+)/ ); } てな感じで取得できないんでしょうか? |
リリィさん、霊山の寺の中に、隠し通路があって、その奥に宝箱が2つあって、その内の1つに扉を開けるための、『大きな鍵』がありますよ。 |
Windows も UNIX も Perl も中途半端にしか知らないので、 誤解しているかもしれないのですが、、、 winipcfg は 標準出力に結果を吐き出すのではなくて、 ウィンドウが出てきます。 しかも、そのウィンドウで、[詳細ボタン]をクリックして はじめて DNS サーバが表示されます。 ですので、winipcfg の結果から DNS サーバを取得する のは容易ではない気がします。 # 不可能ではないのだろうけど。 |
はじめまして・・・ こちら 大阪のヒトです。 突然ですが 最近 日曜日の夜中に「ニキータ」のTV版をみて はまりまくってます。 で 「ニキータ」情報を知りたくて 検索したのですが・・・ どなたか TV版「ニキータ」について 教えて下さい!!! お邪魔しました ☆ |
> 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 |
こんにちは。 僕は研究室配属でUnixマシンとご対面になります。(構造解析用) で、ちょっと触ってみたんですが難しかったです。(^^; 一応結構速いマシンなので使いこなそうと思ったんですが、 root権限貰う予定なので下手にいじりすぎるのもどうだろうと思いました。 OSはSunなんですが、今のところ画面も256色しか出ていません。 追々勉強して使いこなそうとは思っているんですが、 SCSIのHDを買ってきてそれにNTを入れたらどうなるのかと思って質問に来ました。 NTを使うときはUnixは完全に切り離して壊さないようにしたいんですけど、 ルートドライブ以外にNTを入れる事って可能なのでしょうか? また、出来ればNTの方は管理者専用(笑)にしたいのですが Dualbootに関して問題とか生じないでしょうか? 僕以外はPC使えない人なので一人でWSでインターネットしながら・・・ と目論んでいるのです。(笑) 要約すると、Unixは大事に使い、NTを別のHDに入れて普段はこちらは使いまくると言うわけです。 HDを切り離しててもフリーズしたりするとUnixの方のHDもちょっと心配ですね。怒られない程度にやる予定ですが(^^; |
もちろんマシンは Ultra なんとかじゃなくて PC/AT 互換機なんですよね? > 一人でWSでインターネットしながら と書いてあって、ちょっと気になったもので。 > Dualbootに関して問題とか生じないでしょうか? これに関してはこちらを。 http://www.pfu.co.jp/x86/faq/other-002.html > ルートドライブ以外にNTを入れる事って可能なのでしょうか? すいませんが、NT は全くわかりません。 > HDを切り離しててもフリーズしたりするとUnixの方のHDも > ちょっと心配ですね。 うーん、完全に2台の HDD に分けるなら、あまり心配すること ないんじゃないでしょうか。と、個人的には思います。 Solaris も Windows も守備範囲外なので、いまいち お役に立てず すいません。 # 僕の知識はとても狭く、なおかつとても浅いので (^^; |
えっと、compacのalphaマシンなので いまいち分かってないです。(^^; NTも乗せられるとは思うんですが。 ありがとうございます |
おひさしぶりです. 一つ教えて下さい. mule(emacs)で,lexまたはyaccのコーディングをしたいのですが, lex-mode, yacc-modeというのはあるのでしょうか? |
> えっと、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 で やってるんですかね? |
関西のソフマップにNTTのモバイル3の在庫はありますか? |
>えっ、alpha 対応の Solaris ってあるんですか? >あと 最新の NT って alpha で動きましたっけ。 色々調べてみたんですが、 どうやらNTは載らないみたいです。(compaqがサポートしてないのかも知れないけど) alphaでNTが動く物も有るようですがよく分かりません。 で、Tru64 UnixというのがOSな気がします。 そうなるとUnixを勉強するしかないようです。(^^; |
> どうやらNTは載らないみたいです。 NT4.0 は動くみたいですけどね。 # NT5.0 って出てるのか知らないけど…。 ## NT5.0=Windows2000? > Tru64 UnixというのがOSな気がします。 Tru64 以外で動くのは、NetBSD、FreeBSD、Linux あたりでしょうか。 |
一般ユーザーで持ってる人は少ないと思います。 Tru64Unixなんて初めて聞いたOS名でした。(^^; しょうがないのでLinuxを入れるかも知れません。 UnixをDualbootなんて出来るんでしょうか? #NT5=Win2000と考えて良いと思います NT4.0が動くとして、ドライバとかって有るんでしょうかね? とりあえず、4月になって院生が居なくなったら僕が使えるようになるので(笑) |
> UnixをDualbootなんて出来るんでしょうか? 多分 Alpha Station のアーキテクチャは PC/AT と異なる だろうから、専用のブートローダが要るんでしょうね (ほんとか?)。まぁでも、誰かが作ってるでしょう。多分。 これ以上は僕にはさっぱりわからんので、fj や Linux 関係の メーリングリストで質問してみて下さい。 |
どうも。高山です。 現在 Perl の syntax を絶賛嫌悪中(意味不明)。 あの $ やら % やら @ やら & を見ると殺意が沸きます(笑)。 # 1 ヶ月後には謎の世界な気が。二次元配列とか作るの面倒だし……。 tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 Ruby で書けたら嬉しいと思う今日この頃。 # ちなみにバグを 1 ヶ所発見しました。tmpl2html を通した後に # 余計な改行が入るという物です。 |
> tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 iso-2022-jp 化は、おまかせします。はっきり言って、 メリット云々じゃなくて美意識の問題ですよね? あと、EUC 化するとしたら、ついでに jcode::euc2jis/jis2euc を 削って直接 EUC の HTML を書き出すようにしていただけませんか? # ちょっと CGI が重すぎるので、処理を減らしたい。 > Ruby で書けたら嬉しいと思う今日この頃。 まだ ruby は初心者同然なので、既存のスクリプトの書き換えは ご勘弁を。でも新規スクリプトなら…ruby でも…いい…かな…? でもあんまり難しいことしちゃイヤ (^^; |
> メリット云々じゃなくて美意識の問題ですよね? 嫌な事態への予防策です。確立的には結構低いでしょうけど。 でも、熊谷さんが待ったをかけていますので、まだしません。 # む〜。僕の勘違いだったりするのかな? 美意識の方は、持ち出すと際限が無いので(笑)。考慮外。 > まだ ruby は初心者同然なので、既存のスクリプトの書き換えは 僕も初心者同然ですけど、触ってると面白いです。 それにオブジェクト指向な所がいいです。僕は Java から入ったので、 実はかなりオブジェクト指向大好き人間なのですよ。フフフ(笑)。 |
CVSって最近までなんのことだかさっぱりわからなかったんですよ。 ちょっと前いじってみようと思って、Windows版のCVS(WinCvsじゃなくてコマンドラインの) がダウンロード出来る所まではわかったものの使い方がわからずにそのままでした。:-) それで今日、何気に高山さんのホームページを見たらCVSの項目があったので そこのページを見ながらやってたら、とりあえず使えるようになりました。(^^; しかし、もう、必需品となりつつある。 とりあえず使えるようになった所で、以前は謎だった http://www.ruby-lang.org/ja/download.htmlの pserverをお使いの方は〜 に書いてあるとおり打ちこんだら ダウンロードが始まって、、その時はすごい嬉しかったです。(^^; 今度はVineLinuxにCVSをインストールしてWindows側から管理出来るようにしてみたいな・・と。 # 何が言いたいのかよくわからない書きこみになってしまった。:-) |
> でも、熊谷さんが待ったをかけていますので、まだしません。 あれは待ったなのかな? 別に問題ないんじゃないでしょうか。 なお、僕の方は3月15日前後から暇になります。運用開始は 今月中の予定。でも予定は未定 :-) > CVS /etc/* とか、個人用 dot file とか、ここの web page も cvs で管理したいんだけど、なかなか…。 |
> それで今日、何気に高山さんのホームページを見たらCVSの項目があったので あ。役に立ちましたか。良かった。CVS 便利ですよね。 # そいえば自分のウェブ随分更新してない……。 僕は自分のウェブを CVS で管理してますが、 $Id$ などで更新時間を表示できるので楽です。 > 運用開始は今月中の予定。でも予定は未定 :-) 早く運用始めないと忘れ去られそうですね(汗)。 # 既に忘れられてるかも……(苦笑)。 |
> # 既に忘れられてるかも……(苦笑)。 ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 ほえ〜。 |
> # そいえば自分のウェブ随分更新してない……。 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 |
Yuuki様; forkできているみたいですね! 情報ありがとうございます。 僕は、会社のマシンで実験したのですが、やっぱり落ちてしまいます・・・ なので、あきらめていたのですが、まだ検討の余地があるってことですね。 う〜ん、なんでだろう? ←自問自答です。 68user様; すいません、やっとselectの概念がわかったのと、以前いただいた スクリプトを試してうまくいっているところまでしか進んでいません。 まだまだ道のりが長そうです。なかなかいい報告ができないので、 心苦しいです・・・ |
はじめまして。 これからUNIX(LINUX)を導入して、ネットワークプログラミングを 勉強しようとしている者です。 まだ全部読んでませんが、このページはすごくわかりやすく、 しかも私のレベルに合っているので重宝します。 これからも、この調子で更新していってください(^^) 68userさんはすべての作業をX68000でやられているのですか?(^^; |
ん〜。眠いぜ。 > ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; たまに「この作業報われない?」と思う瞬間があります(笑)。 某 www-links-core ML も、ほぼ二人の世界ですし。 > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 何か段々商業色が強くなっていくようで、個人的には嬉しくないです。 最近の FreeBSD はどうも妙な方向に向かいつつあるみたいな感じが。 |
すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 助けてください。 よろしくお願いします。 |
> 前に僕が書いた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 で検索するといくつか引っかかります。 |
こんにちは。 はじめて投稿さしてもらいます。 smbclientコマンドのオプション-Mってありますよね。 UNIX→WinPCへの送信はOKなんですが、 WinPC→UNIXへの送信メッセージってどうやってWinPCのメッセージを参照 するのですか? #ちなみに、使用UNIXはRedHat LINUX5.2(J)です。 宜しくお願い致します。 |
こんばんわ。どーしても FTP が作りたくなったので、探して みたら辿り着きました。 FTP の資料を探していたくせに、 いま調べまくって Proxy を VisualBasic で作成中です。 RFC を読んでからにするべきなんでしょうが、すでに コンテンツや画像の中継機能は実装できていますが、マルチで まともに動くのが怪しい VB で作っているのと、状態遷移図を 書かずにやってるのとで、サーバからのデータを取りこみ きれずにソケットが閉口(笑)してしまいます。 単純なデータ処理なら既に完成しているんでしょうが Java を 横目で眺めつつ、ノウハウの蓄積などと嘯いております。 ドカチンプログラマ(Oracle屋さん)なので、そっち方面では恩返しが 出来ると思いますが、メインはやっぱり Windows なので、Oracle on Unix となるとちょっと…。しかも Socket やってるくせに私は C/C++が使えません(^^;)とはいえ NetBSD/X68k なんかも知ってたり して、支離滅裂なコンピュータ人生です。 またちょくちょく顔を出させてください。でわまた。 |
へにかさん > 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 とか参考になるかもしれません。 |
また書き込んじゃいます。てへ。 なんかFreeBSDとBSD/OSの会社が合併するようですね。 Linux勢に押され気味のBSD勢ですが、今後はBSDも活気が 出てきますかね? っていうか、まだLinuxかBSDか迷っています。 ノートPCで動かす予定なので、ノート関連の資料が多く揃っている(?) BSDもいいなぁなんて。 |