68user's page 掲示板

Prev< No. 556〜566> Next  [最新発言に戻る] [過去ログ一覧]
No. 556 # 九面で迷ってるオレ 1999/11/21 (日) 14:20
ジェダイナイト、9面のシークレットエリア誰か教えて下さい。

No. 557 # ムチなチュボ 1999/11/23 (火) 23:32
ネットワークプログラミングの基礎知識、凄いです。素晴らしいです。
私のような無知にでもできてしまってちょっと怖いです。
(ほとんど切り貼り状態なんですが・・)
FTPの項についてなんですが
「# FTPサーバに、子プロセスが待っているIPアドレスとポートの情報を渡す」
というのがありますよね。ftptras.plで初めて子プロセスは出てくるのでは。
それ以前の例示には「子プロセス」というコメントは必要無いのでは。
(ちょっとここで悩んでしまったので・・・。)

No. 558 # 68user 1999/11/23 (火) 23:51
> それ以前の例示には「子プロセス」というコメントは必要無いのでは。
どもども。ミスですね。直しておきます。

最初は fork しないと ftp クライアントは作れないと思ってました。
結局それは誤解だったので書き直したのですが、コメントの修正を
忘れてたようです。

# ftptrans で fork してるのも怪しい。ほんとに1プロセスで
# できないのかなぁ?

No. 559 # ムチなチュボー 1999/11/25 (木) 00:01
う〜〜ん。
ローカルのホスト名を得るにはどうすれば良いですか?
開いたSOCKETから手に入れる以外に適当な方法て無いですかしらん。
シェルコマンドは使わずにperlの関数だけで。

RFCの日本語訳ってほんと便利ですよね。感謝しながら読んでます。
PASVの返事て227だけみたいですね。あとは全部エラーみたい。
それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。
正規表現もむつかしいけど頑張ってるとこおろです。

No. 560 # 68user 1999/11/25 (木) 01:31
> ローカルのホスト名を得るにはどうすれば良いですか?
試してませんが、とりあえず
    http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja-2.html#ss2.24
    http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq9.html#How_do_I_find_out_my_hostname_do
ここらあたりでうまくいかないですか?

> あとは全部エラーみたい。
> それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。
なるほど。ところで、こーゆーのがネットワークプログラムのヤな
ところですよね。相手があってのものだから「これで正しいかどうか」
「完璧かどうか」がわからないという。

あと、真面目に作って配布でもするつもりなら
    http://hp.vector.co.jp/authors/VA002682/rfc1123j.htm
も読んで下さい (もう読んでるかもしれませんが)。

# あと、data-connection の peer-port が 20(ftp-data) かどうかの
# チェックもね。

No. 561 # NET放浪人 1999/11/26 (金) 17:44
68USERさんの中で最も得意なプログラミング言語はなんですか?

No. 562 # 68user 1999/11/26 (金) 22:24
elisp です。

…ウソです。perl か C ですけど、人に誇れるほどの
レベルじゃないです。精進せねば。

No. 563 # ムチなチュボ〜 1999/11/28 (日) 00:50
色々ありがとうございました。

> 227だけみたい
たしかに一番上の桁だけ見ろってRFCに書いてありました。

perlて俺のような無知な初心者にも優しい言語ですね!
構文規則が緩いっていうんですか、括弧とか適当でいいし。
とりあえず構文と関数のリファレンスさえあればなんとなく
出来てしまう。ありがたいことです。
まあ…そのおかげかperl使いな人も俺のような駄目パーラから
超スゴイ人まで腐るほど沢山居るらしくてperlなんか今更
「多少」使えても何の自慢にもならないみたいなんですが…。

でもでもこれからもperlで遊ぶぜえ〜。
じゃあさよならあ〜。

No. 564 # 日向 1999/11/29 (月) 12:58
以前にPOSTに関して質問した者です。遅いレスですが…(^^;
どうやら、ソケットに送るPOST〜$messageは、
個別に送った場合、途中の\r\nにHTTPDが反応してしまうようです。
なので、$sendとか、適当な変数に全部繋げて代入し、
print SOCKET $send;
としなければならないようです。
HTTP/1.0を指定し、更にこの方法でやってみた所、POSTが成功しました。
ちなみに、HTTPバージョンを省略した場合は
HTTP/1.1とみなされるみたいです。(全部そうとは限らない…かな?)

No. 565 # 68user 1999/11/29 (月) 22:46
> HTTPバージョンを省略した場合は HTTP/1.1とみなされるみたいです。
省略すると HTTP/0.9 になります。0.9 では GET 以外使えませんし、
ヘッダも送れません。例えば
    GET /~foo/index.html
を送った時点で、サーバからレスポンスが返ってきます。なので、

> 途中の\r\nにHTTPDが反応してしまうようです。
これはそういうことじゃないでしょうか?

なお、HTTP 0.9 で
    POST /~foo/index.html
などとしようとすると、405 Method Not Allowed になるはずです。

No. 566 # 68user 1999/11/29 (月) 23:33
というわけで、
> $sendとか、適当な変数に全部繋げて代入し、
> print SOCKET $send; としなければならない
ということはあり得ないと思いますが、一応試してみたいので
よろしければその掲示板の URL を教えて下さい。

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