|
こんどは canna が かんじに へんかんしてくれなくなりました。やれやれ、 こどもみたいな ぶんしょうだ。 > IO::Socketを使ったechoサーバのサンプルスクリプトは全部 > 外部からのアクセスには反応しません。 おお、ほんとだ。というわけで しらべてみたところ、 LocalAddr => 'localhost', がわるいです。 ふつう、マシンには じぶんじしんあてへのインタフェイスがあります。 これをループバックとよび、127.0.0.1 という IP アドレスがふられて います (127.0.0.1 がループバックという きまりはありません。 (IPv4 では) ただのかんれいです)。 そして、インターネットにつながっているならば、さらにインターネットへ つながるインタフェイスがあります。これには 210.249.139.22 のような グローバル IP アドレスがふられています。 つまり、つうじょう、マシンには 2つのインタフェイス/IP アドレスが あるわけです。 たいていのサーバプログラムは2つのインタフェイスを くべつしません。 しかし、くべつできるような しくみは いちおうあります。それが http://X68000.startshop.co.jp/~68user/net/func.html#bind のさいごにかいてある、bind でどちらの IP あどれすをつかうかを えらべる、ということです。 で、LocalAddr => 'localhost' は、この bind のひきすうに IP アドレス (localhost にたいおうする 127.0.0.1) を あたえたのと おなじいみです。 これは LocalAddr をしていするときと しないときで、それぞれ netstat -an をじっこうすると わかりやすいでしょう。 tcp 0 0 127.0.0.1.5000 *.* LISTEN (LocalAddr してい) tcp 0 0 *.5000 *.* LISTEN (LocalAddr していない) と、LocalAddr をつけると、127.0.0.1:5000 しか みていないのが わかります。だからローカルホストからしか せつぞくできなかったわけです。 > 今まではke◯t氏の有名な掲示板や、ゆいチャ◯トの > ソース等を参考にPerlの勉強をしていましたが、 ゆいチャットはしりませんが、kent とか rescue などと くらべられるのは しんがいです :-) まぁ、こっちもそんなにレベルが たかいわけではないので (こんかいの ようなミスもあるし)、これいじょうは えらいひとからの つっこみが こわいので いいません。 ちなみに perl って、しょしんしゃでも なんとか うごかせるから でしょうか、うそだらけのページがおおいですね。ぼくがぜんめんてきに しんらいしているサイトは http://www.context.co.jp/perlnews/ http://www.din.or.jp/~ohzaki/perl.htm の2つだけです。 > あと、標準モジュールの使い方の学習で効果的な > リソースって何でしょうか? perl モジュールガイドとかいうほんが しゅっぱんされていません でしたっけ? しょうさいは わかりませんが。 ただ、もくてきのモジュールがわかっているならば、perldoc を ながしよみして、けっこうなんとかなるかとおもいます。 よみにくいぶんしょうで しつれいしました。LocalAddr の ぶぶんは、じかいこうしんじに さくじょいたします。 @yuji さん カーネルの TCP/IP まわりのこうぞうたいのことですよね? ぼくもしりたいです。だれかおしえて。 |
|
そうなんですよ。なかなかネットワークの構造体について わかりやすい説明って詳しいないんですよね。 特にFreeBSDの場合は・・・ 誰か知っていたら教えてください。 |
|
残念ながら、僕は知らないです。僕の持っている UNIX カーネル 関連の書籍にも、TCP/IP は載ってませんでした。 BSD Magazine No.4 に、IP の話が少し載ってますが、 構造体の説明はありません。 というわけで、解説書いて(笑)>yuji さん |
|
そうですね。つくってみますか! っていってもなかなか・・・ 理解した分だけ作っていくのは いいかもしれません。あとあと 役に立ちますし。 ええ、BSD Magazine No.4 に書いてありましたね。 どのような流れでデータが動いているのかは 理解するのに役に立ったと思います。 |
|
LocalAddr => 'localhost'を削除したら、外部からのアクセスに反応することを こちらでも確認できました。 #しかし普段からLinux使ってるのにnetstatしなかった私って…ごめんなさい(汗) それから、Perldocというものが自分のマシンに入っていることも実は知りませんでした。 昨日からネット上で検索かけまくって、やっとPerldocの存在を知りました。 さっそくperldoc -m IO::Socketして読んでみます。 68userさん、早急な解答ありがとうございました。 |
|
はじめてここに書きこみさせていたただきます よろしくお願いします。 今メーリングリストを開設しようと思っています サーバーはLinuxで aliasesファイルに転送先のメンバーリストファイルを指定したのですが 開かず、悩んでいます ----- The following addresses had permanent fatal errors ----- <aki@my-member.com> :include: /home/sites/www.my-recruit.com/web/recruit/bin/Mailing-list/mylist-member-list (expanded from: <aki@my-member.com> ) ----- Transcript of session follows ----- 550 :include: /home/sites/www.my-recruit.com/web/recruit/bin/Mailing-list/mylist-member-list... Cannot open /home/sites/www.my-recruit.com/web/recruit/bin/Mailing-list/mylist-member-list: Group writable directory 554 <aki@my-member.com> ... aliasing/forwarding loop broken -------------------------------------------------------------------------------- のようなメッセージが帰ってきます。 ファイルのパーミッションは644です すでに1週間と一日・・・私くじけそうです・・・ もしわからる方いらっしゃいましたらお願いします。 |
|
> Group writable directory グループが書き込めるディレクトリ、だから危険なので 実行するのはや〜めた、と言ってます。 |
|
68userさんありがとうございます パーミッションをいろいろ試したのですが・・・開きません ファイルやディレクトリのパーミッションを もしよろしければ、どうすればファイルを開いてくれるのか教えてください よろしくお願いします・・・ |
|
すみません、私のミスでした・・・ ディレクトリのひとつのパーミッションがおかしかっただけです う〜んこんなこと気づかないなんて・・・ ありがとうございました〜 |