68user's page 掲示板

Prev< No. 2737〜2755> Next  [最新発言に戻る] [過去ログ一覧]
No. 2737 # 68user 2002/06/12 (水) 13:01:04
>>2734 リュウ
せっかく「Interact with IPL」というキーワードがわかっているのですから、
それで検索しましょう。ついでにキーワードに「HP-UX」も付けておきましょう。
そしたら一発でひっかかります。

    http://www.google.com/search?hl=ja&q=Interact+with+IPL+HP-UX&lr=lang_ja

>>2735 だいすけ
> この場合のクライアントとはどのようなプログラムになるのでしょうか?
    http://X68000.startshop.co.jp/~68user/net/sample/http-client.pl
をちょっといじれば、echo クライアントになります。

>>2736 だいすけ
chargen については RFC864 をどうぞ。
    http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc864j.txt

その他の疑問点については、まず基本となる雛型を作ってみてから、ですね。

No. 2738 # だいすけ [E-mail] 2002/06/12 (水) 14:21:21
たびたびすいません。このような課題のクライアントのことなのですが?
どのようなプログラムになるのでしょうか?

echoサーバ及び、クライアントのプログラムをC言語とPerlで作成する。
フリーなUnix系OSで動作する事。
echoサーバはデーモンとして動作する事。
echoサーバは、標準telnetコマンドとも通信可能な事。
echoサーバは、ログ機能を有する事。
以上は必須機能です。
余裕があれば、
サーバには大文字、小文字変換機能をオプションで持たせる。
クライアントは文字列をファイルから読み取り、送信するオプションを付ける。
等、面白い機能を付加して下さい。

No. 2739 # だいすけ [E-mail] 2002/06/12 (水) 14:26:17
ほんとうに初心者なのでchargenについてはプログラムを書き始めることもできません。どうかたすけてください。

No. 2740 # 68user 2002/06/12 (水) 15:32:06
仕組みやプログラムを理解する手助けならできますが、答えをそのままあげる
ことはできません (おもしろくないから)。

宿題スレなら、誰かがソースを書いてくれるかもしれません。
    http://pc.2ch.net/test/read.cgi/tech/1020785918/l50


てゆーか、高専生か大学生かと思っていたんですが、社会人なのですか?

自分なりにある程度調べた上で、
    「ここまでは理解できたけど、この部分がわからないから教えてくれ」
という質問の仕方を身につけた方がよいと思いますが、まぁいらぬお節介でしょうね。

No. 2741 # バクモン 2002/06/12 (水) 19:05:24
はじめまして。
UNIXのftpコマンドについて、お聞きしたいことがあります。

ftpコマンドを使用して、WinNTサーバからUNIXへデータを
getしているのですが、以下の事象が発生しています。
・対象ファイルが0バイトの時、getコマンド終了後、そのまま
    ftpのプロセスがハングアップしてしまうことがある。

シェル内で以下のように使用しています。
ftp -n <<EOF
open [IPアドレス]
user [ユーザ名] [パスワード]
binary
get [getするファイル名] [保存するファイル名]
close
quit
EOF

現象を見る限り、getコマンドまでは完了してるようです。
psコマンドにて、ftpのプロセスを検索すると、
ftp -n
が残ってしまっています。

UNIX側からタイマーなどでftpのセッションを切ることは可能
なのでしょうか?

No. 2742 # 68user 2002/06/12 (水) 21:34:08
>>2741 バクモン
それって、要は ftp か ftpd のバグですよね。
    ftp -n < input &
    pid=$!
    sleep 300
    if [ `ps -p $!` ]; then
        kill $!
    fi
的な監視をするのが普通でしょうか。

No. 2743 # バクモン 2002/06/13 (木) 10:35:47
>>2742 68user
早速のご回答、ありがとうございます。
確かにftpプロセスの監視しかないかな、と思います。
そこで、再度質問なんですが、このftpコマンドを使用している
シェルがCシェルで書かれています(すいません、先に言って
おくべきでした)。
Cシェルでは直前に実行したコマンドのプロセスIDを取得する
方法はあるのでしょうか?
($!はKシェル、Bシェルのみの文法と調べたら書いてありました)

No. 2744 # だいすけ 2002/06/13 (木) 10:59:34
echoサーバの
3: #include <stdio.h>
        4: #include <netdb.h>
        5: #include <sys/types.h>
        6: #include <sys/socket.h>
        7: #include <sys/uio.h>
        8: #include <unistd.h>
        9: #include <sys/param.h>
      10: #include <netinet/in.h>
      11: #include <arpa/inet.h>
この部分なのですが、#include <stdio.h>はわかるのですが、
他の物は参考書も見ても掲載されていません。
なんなのでしょうか?

No. 2745 # シゲ 2002/06/13 (木) 12:36:14
昨日から、UNIXを勉強しだしました。大変、初歩的な質問かもしれないのでごめんなさい。
アクセス状態が-rw-------のファイルをmoreで表示させたいのですが、私はファイルの所有者ではないので表示させることができません。chmodは使わないでアクセスを出来るようなのですが、どうすれば良いのですか?
どなたか教えてください。よろしくお願いします。

No. 2746 # シゲ 2002/06/13 (木) 14:24:42
>>2745 シゲ
すみません。解決しました。
パスワードが解ればrootで入れるんですね。

No. 2747 # 68user 2002/06/13 (木) 17:39:03
>>2743 バクモン
> Cシェルでは直前に実行したコマンドのプロセスIDを取得する
> 方法はあるのでしょうか?
$status です。

>>2744 だいすけ
例えば、関数 listen を使いたい場合は、man listen として、
include すべきファイルを調べます.同様に accept や bind など、
使用している関数全てについて調べていくと、それだけのファイルを
include する必要がある、ということです。

No. 2748 # 木場 2002/06/13 (木) 23:06:36
ここのサイトのC言語のHTTPクライアントを使わせてもらって色々勉強させてもらってます。そこで質問なのですが、imodeのURL例えば(http://mobile.yahoo.co.jp/)のレスポンスが返ってくるプログラムを作ろうとしているのですが、どうも、302 FOUND がでてしまい、うまくいきません。どのように解決したらよいでしょうか?

No. 2749 # 68user 2002/06/14 (金) 00:59:09
>>2748 木場
Locaiton: ヘッダに示されている URL を読み込めばよいです。

No. 2750 # だいすけ 2002/06/14 (金) 09:21:22
前回のことについての質問のつづきですが
僕のもっている参考書には掲載されてないのですが、
僕のもっている参考書が古いということでしょうか?

No. 2751 # バクモン 2002/06/14 (金) 09:39:50
>>2747 68user
ご回答ありがとうございます。
ただ、$statusは直前のコマンドのリターン値がセットされる
と認識しています。
Cシェルで直前のプロセスIDを取得するには、プロセスをバック
グラウンドで動かすようにして、その際に標準出力されるプロセス
IDをテキストファイルにおとして、grepなりをする方法しか
ないかな、と考えています。

そこで、以下を考えました。
ftp -n <<EOF &
open [IPアドレス]
user [ユーザ名] [パスワード]
binary
get [getするファイル名] [保存するファイル名]
close
quit
EOF

これを実行すると
[1] 10161
と言った形でプロセスIDが出力されます。
ただ、これをテキストファイルに落とす方法がわかりません。
多分、リダイレクトをするのだと思っているのですが、どこに
それをうめこめばいいのでしょうか?

No. 2752 # だいすけ 2002/06/14 (金) 09:50:04
それとも
C言語で新しくできた関数なのでしょうか?

No. 2753 # 68user 2002/06/14 (金) 12:46:53
>>2751 バクモン
ああ、そういう意味ですか。

tcsh だと $! で取れますが、csh では無理かもしれないですね。
jobs -l だと取れそうですが、どうでしょうか。

ただ、僕なら監視用プロセスを別に起こします。

例えば、
    mkdir /tmp/.ftp-lock
    ftp -n <<EOF
    open
    ..
    quit
    EOF
    rmdir /tmp/.ftp-lock
として、監視プロセスは n 秒前より過去に /tmp/.ftp-lock が作成されて
いたら、
    kill `ps -ef | grep get-file.sh | grep -v grep'
する、とか。

もちっと確実にするなら
    ln -s $$ /tmp/.ftp-pid
    ftp -n <<EOF
    open
としてプロセス番号を特定できるようにする方法もあります ($$ は sh の
プロセス番号なので、$$ の子プロセスを kill する必要がありますけど)。


>>2750 だいすけ
「何が」参考書に掲載されていないのですか? netdb.h? listen? accept?

ここらへんの関数については規格化されていません。よって、UNIX では
使えても Windows では関数そのものがなかったりします。

例えば
    「ANSI C マニュアル」
といった書名ならば、規格化された関数については網羅しているかもしれませんが、
規格外の関数については載っていなくても不思議ではありません。

No. 2754 # だいすけ 2002/06/14 (金) 14:10:21
5: #include <sys/types.h>
                6: #include <sys/socket.h>
                7: #include <sys/uio.h>
                8: #include <unistd.h>
                9: #include <sys/param.h>
            10: #include <netinet/in.h>
            11: #include <arpa/inet.h
これらが参考書に掲載されてないという意味だったのですが
manコマンドでしれべていくのですね。
どうもありがとうございます。

No. 2755 # ビギナー 2002/06/14 (金) 15:32:49
はじめまして。
まだ、UNIXをはじめたばかりの初心者です。
いま、windows環境のマシンからtera termを使ってUNIXマシンにpostgressqlをインストールしています。そこで、「カーネルのコンフィギュレショーションファイルをチェックする」と書かれているのですが、これってどうやるのですか?
どなたか教えてください。
よろしくお願いします。

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