68user's page 掲示板

Prev< No. 537〜542> Next  [最新発言に戻る] [過去ログ一覧]
No. 537 # 68user 1999/11/11 (木) 19:20
> 2000年1月1日にセットしたいのですが?
BIOS で時間をセットすればいいでしょう。

> PERLにDBIとDBD(ODBC)を組み込もうとしています。
う〜ん、全然わからんです。Windows環境持ってない上に、こういう
エラーって、大抵の場合
    #ifdef WIN32
の書き忘れが原因だったりするんで、perl/Windows/DBI/DBD に精通していない
僕にはさっぱりわかりません。

> サーバーが何たらUNIXか何たらLinuxかがわかりません。
`i386-pc-linux' とあるので Linux なんでしょうけど、
OS名は uname -a でわかります。
# ディストリビューション名ってどうやって調べるんだろう?

> 「ヘッダファイルがてーぎされてへんよー!注意しなはれ〜」みたいなエラー
というのはあり得ないです。インクルードしなくても動くということは
「mkdir/rmdir/sleep という関数の宣言がされていない」という warning
(implicit declaration of function `mkdir') ですかね。エラーや warning は
訳さずそのまま書いて下さい。

で、インクルードファイルがわからないときは、man で確認して下さい。
    % man 2 mkdir
    % man 2 rmdir
    % man 3 sleep
とすると、
    NAME mkdir - make a directory file
    SYNOPSIS
        #include <sys/stat.h>
        int mkdir(const char *path, mode_t mode)
という情報が得られます。

> xxx% lha x filename(圧縮ファイル名)
> と、コマンドを入力しても実行されません。
「実行されない」とは何ですか? 「Command not found」になるんですか?
    % locate lha
で、ファイル名に `lha' を含むファイル一覧が表示されますが、
それでも見付からないなら本当にインストールされていないんでしょう。
管理者に頼むか、自分でインストールすることになります。

> 子プロセスを生成するspawn関数というものがあります。
> この関数が、POSIX準拠の関数か否かをご存知の方
うーん、わからんです。FreeBSD/Solaris ともに spawn という関数は
ないので、POSIX 準拠ではないと思うんですが…確信はありません。

No. 538 # PUYO [URL] 1999/11/12 (金) 00:49
初めまして。
ネットワークプログラミングの基礎知識 大変興味深く読ませていただきました。これからもがんばって下さい。

陰ながら応援しています。

No. 539 # 68user 1999/11/14 (日) 04:48
どもども。間違いなどありましたら、ぜひご指摘お願いします。

No. 540 # 日向 1999/11/14 (日) 14:03
はじめまして。
「ネットワークプログラミング」読ませて頂きました。
説明、サンプルプログラム共に大変分かりやすく、
すぐに自分なりに応用することができ、大変為になりました。^^

ただ、一つだけ分からなかったことがあります。
HTTPクライアントでPOSTメソッドに対応しようとしたのですが、

$message = "name=test&mail=test&url=test&message=test\r\n";
$len = length($message);

print SOCKET "POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n";
print SOCKET "REFERER: (略)/cgi-bin/mybbs.cgi\r\n";
print SOCKET "Content-length: $len\r\n";
print SOCKET "\r\n";
print SOCKET $message;

とした所、実際にはPOSTされていないようなのです。
これは自分の掲示板(本のサンプルの真似ですが)に対してのPOSTですが、
REFERERチェックの入らない友人の掲示板でテストしてみてもPOSTされないようです。
ので、恐らくこちらのスクリプト側に誤りがあると思われるのですが…。
また、\r\nを\rや\nに変えても駄目でした。
どこが間違っているのでしょうか…?ご教授頂ければ幸いです。

ちなみにSunOS 5.6,Perl 5.004_04です。

No. 541 # 68user 1999/11/14 (日) 16:54
# GET ができるのに POST だけができないのなら、外してますが…
HTTP/1.1 では、Host ヘッダが必須になります。
    POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n
    Host: 相手先のサーバ名\r\n
    Content-length: $len\r\n
    \r\n
    $message
でどうですか? これが原因なら、HTTP/1.0 にすればうまくいくはずです。
また、サーバのレスポンスは「400 Bad Request」となっているはずです。

それでもダメなら、
    #!/usr/local/bin/perl
    $|=1;
    sysread(STDIN, $input,$ENV{CONTENT_LENGTH});
    print "Content-type: text/plain\n\n";
    print "$input\n";
という、データを受けて表示するだけの CGI を相手に、いろいろ
試してみて下さい。

No. 542 # みのる 1999/11/15 (月) 15:35
いつも拝見しております。みのるです。(環境:SunOS5.6)
いきなりで大変心苦しいのですが、"passwd"が実行不可となってしまいました。

急に
-r-sr-sr-x 3 root 96392 Feb 24 1999 nispasswd*
-r-sr-sr-x 3 root 96392 Feb 24 1999 passwd*
-r-sr-sr-x 3 root 96392 Feb 24 1999 yppasswd*

となりroot権限で"passwd"コマンドが利かなくなってしまい、
chmod 555 passwd
でアクセス権を変更したのですが、
「passwd(SYSTEM): ○○○○ does not exist
アクセス権が与えられていません。」とエラーになってしまいます。
シンボリックリンクにすればよいのでしょうか???

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