ありがとうございました。 やってみます。 |
はじめましてつると申します。 ネットワークプログラムについての質問なのですが、 今、いろいろと事情があって ここのページを参考にプロキシのようなサーバプログラムを 作成しております。 なにをするサーバかというと、ブラウザからのリクエストを受け取り そのリクエスト(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もいいなぁなんて。 |
Yuuki様; cygwin1.dllを入れ直したら、無事forkしました。 色々、ありがとうございます! 嬉しいです。 嬉しさのあまり、証拠画面を作成しました。 以下に示します。宜しかったらご覧ください。 http://henika.virtualave.net/echotest.gif |
> 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/ に付け加えますが、何かいいところはありますか? |
いまつくってるのは、なぜか http-proxy です。 状態遷移図とかは、商売上お客さんに納入しないとだめなときが ありますが、あればあったで、自分が混乱したときに役立ちます(笑) |
質問です。 wwwboardに以下のような行がありますが、 print <CACHE>; これは my @line = <CACHE>; print @line; と同じような動作をするのでメモリに負担がかかるような気がするのですが どうなのでしょう? |
> メモリに負担がかかるような気がするのですが う、その通りですね。修正しておきます。ありがとうございました。 |
> print <CACHE>; の他にも、なんやかんやと掲示板をいじってみたり。 というわけで、テスト。 すいませんが、古い cookie は多分効きません。 |
> Windows ユーザへの注意点とか、ここから perl を落とせとか、 > そこらへんがまとまってるリンク先があれば、 僕が見てきたページには無いようです。 僕がそこらへんをまとめたページを作りますね。 WindowsでPerlをやる時の注意点 てな感じで。 > 古い cookie は多分効きません。 例によって、名前を入力する場所に "68user"と入ってました。:-) |
> 例によって、名前を入力する場所に "68user"と入ってました。:-) ありゃ、古いバグを掘り起こしてしまった…。 |
まとめたページ、とりあえず作りました。 まだ情報が少ないですが、、(なのでまだ公開してない) http://homepage1.nifty.com/tyuuki/perl/windows_perl.html かなり眠い状況で書いたので間違いあるかも。です。:-) |
あ、Yuuki様が既に・・・ でも折角なので、投稿してしまいます。 ご希望に何処まで沿えるかどうか分かりませんが、これが良いと思います。 http://www.st.rim.or.jp/~nakata/ (但し後半部分のリンク集) ただ、これだとfork可能な、cygwin上のperlへは辿り着かないので、 Yuuki様が紹介された、以下のサイト、 http://www.jaist.ac.jp/~fujieda/cygwin/ 更に、cygwin1.dllを入れ替えなければならないので、その参考として、 http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml を付け加えればいいかと存じます。 cygwinをインストールして、perlをインストールして、cygwin1.dllを 入れ替えて、やっと動作するので、forkが必要な場合以外でインストール するのはかなりしんどいかも知れません。ActivePerl(http://www.activestate.com/) がforkをサポートさえすれば、最初に紹介したサイトが一番良いと思います。 ついでに進捗; なんとか、mime typeを認識まで出来ました。後はtextのfilterを入れる 寸前で(schedule的に)停止中・・・ あと、全く関係無いですが、状態遷移図からプログラムを吐き出すソフト、 って存在するのですか? フローチャートだと、 programa(http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/)が面白いです。 ハードだと、stateCADやDesignBookが有名です。 ※ cookieを久しぶりに食べたら、名前が へにか Email になって ました。また、WWWC(更新チェッカ)で3/14 8:22にチェックしたら、 3/13 22:12でした。更に、曜日が、羨ましい状態です。 |
はじめまして。UNIXのコマンドの質問なのですが... % ls -l -rw-r--r-- 1 *** ***** 2449 Mar 14 08:17 **.* -rw-r--r-- 1 *** ***** 1739 Mar 14 08:17 **.* -rwxr-xr-x 1 *** ***** 1223 Mar 8 00:04 **.* -rw-r--r-- 1 *** ***** 4135 Mar 14 08:20 **.* -rw-r--r-- 1 *** ***** 29140 Mar 14 08:20 **.* と、こんなかんじで表示されると思うのですが、そのとき↓のように表示したいときは どうすればいいですか? 2449 1739 1223 4135 29140 こんなかんじにファイルサイス゛列だけを表示したいのですが教えてもらえますか? |
こんにちは。 > ファイルサイス゛列だけを表示したい わたしなら、 ls -l | awk '{print $5}' かなぁ。 awk って便利ですよね〜 |
kuwさん、ありがとうございました。 助かりました。 |
はじめまして レンタルサーバを借りていて、telnetで少々時間のかかるコマンドを バックグラウンドで順番に実行させようと思っているのですが、 ログアウトするとどうもプロセスが終了してしまうようなのですが・・・ ログアウト後も終了させないでつづけさせるにはどうしたら良いのでしょう? ちなみに、commandA&&commandB &っていうふうにコマンドラインには 入力しています。 超初歩的な質問だとおもいますが、よろしくお願いします。。。 |
> ログアウト後も終了させないでつづけさせるには http://X68000.startshop.co.jp/~68user/unix/pickup?nohup でいいですか? > 更に、曜日が、羨ましい状態です。 おぉ、毎日が日曜日…。 Win+perl の件は後程。 |
スゴい深刻な問題抱えてますーーーー。 連休明けまでに(3月20日までに)プレイステーション2売ってくれる 人いませんかーーーー????? チョットクライ高くてもかまいませんんんん。 |
> cygwinをインストールして、perlをインストールして、cygwin1.dllを > 入れ替えて、やっと動作するので 勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 CygwinPerlをインストールするためにCygwinをインストールする必要はないです。 どうするかというと、それは僕のページに書いてます。:-) (http://homepage1.nifty.com/tyuuki/perl/windows_perl.html) |
>68userさま お返事ありがとうございます。 リンク先のnohupコマンドを使ってやってみたのですが やっぱりログアウトするとプロセスが終了してしまうみたいです。 nohup /home/hoge/hage/commandA&&/home/hoge/hage/commandB & というかんじで入力しているんですけど。。 実行すると「nohup: appending output to `nohup.out'」 というメッセージがでます。 こういうやり方でいいんですよね? サーバの設定の問題なのかな? どうすればいいんだろうか。。 |
> 実行すると「nohup: appending output to `nohup.out'」 ということは bash をお使いだろうと思いますが、こちらでは nohup commandA && nohup commandB & でできました。tcsh なら ( nohup commandA && nohup commandB ) & とサブシェルに実行させれば動くようです。 |
Yuuki様; >勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 うっ、た、確かに・・・ ご指摘ありがとうございます。 会社のマシンでも、pathからcygwinをはずして、usr\以下にpathを 追加し、そこにcygwin1いれると、動いてました。 あと、Yuuki様のページ、なかなかインストールしやすくなっていて、 感心しました。 |
DVDとCD−RWが一緒になっているドライブがあると聞いたけど、これってお買い得? |
モジュール関係を中心に更新しました。 http://X68000.startshop.co.jp/~68user/net/ さすがにネタが尽きてきた & 飽きてきた。何かおもしろい 題材ないですかね。NNTP も ICQ もいまいち食指が動かないなぁ。 あと、Windows+perl を使うときの参考ということでリンクを 張りましたが、よいですか?>Yuuki さん # 「よいですか?」というのは (失礼な言い方でなりますが) # こういう分野は情報がすぐに古くなるので、定期的に更新を # 続ける気はおありですか? ということ。 ## 僕は Windows 使ってないため、情報が正しいかどうか全く ## チェックできないので。 なお、ちょっと忙しくなるので、26〜27日あたりから 4月中旬まで しばらく掲示板を閉めます。 |
>こてつさん DVDとCD-RWくっついてるやつは 性能的にみても,別々に買ったほうが安いので 辞めといたほうがよろしいかと。 >68user様 自作機で新マシン作りました。ハード関係 前より詳しくなりましたよ。CGIは相変わらずですけど。 奥深いですね。自分で組むと全く動かないです(w |