68user's page 掲示板

Prev< No. 595〜603> Next  [最新発言に戻る] [過去ログ一覧]
No. 595 # Kai 1999/12/16 (木) 00:37
こんにちわ!このHPで最近勉強させてもらってます!
ところで、FTPクライアントをC言語で書く予定は無いのでしょうか?

一応見よう見まねでこのHPのパールで書かれたソースから
Cで書いてみたのですが、見事失敗!
(具体的にいうと、getsocknameの使い方がmanでしらべても
よくわからなかったのです(泣)できれば教えてください!)

ですから、説明無しでもソースだけアップしてもらえたらな〜、
なんて自分勝手なことを思ってしまってます。(ごめんなさい)

あるいは、CでかかれたFTPクライアントをアップしている
HPがありましたら、ご紹介いただけると幸いです!

No. 596 # あっちー [E-mail] 1999/12/16 (木) 16:31
こんにちわ、はじめましてあっちーといいます。
最近自分のパソコンにLinuxを入れました。
でもコマンドの使い方とか全然わかりません。
なんとxWindowを立ち上げてサウンドの設定までできましたが
CD-ROMが外付けなためCDROMびアクセスできません。
CDプレイヤーを立ち上げるとerorrと出てきます。
mountの設定なのでしょうか?
パソコンはSony VAIOでPCG505Sです。
CD-ROMはPCGA-CD5です。
いきなり掲示板に書いた内容がこんなですが
もしよろしければどなたか教えてください。

これからLInuxとUnixの勉強を始めていきます。
よろしくお願いします。

No. 597 # むちなちゅぼ〜 1999/12/17 (金) 03:22
Kaiさんゑ。
単にFTPが使いたい、てだけならば
CPANに行けばPerl用のFTPモジュールが置いてあるなりョ。

No. 598 # 68user 1999/12/17 (金) 04:33
> 具体的にいうと、getsocknameの使い方がmanでしらべても
> よくわからなかったのです(泣)
僕も知りませんでしたが、昨日から調べていてやっとできました。

        struct sockaddr_in local_socket;
        int len;
        long local_ip;

        len = sizeof(local_socket);
        if ( getsockname(socket,(struct sockaddr *)&local_socket,&len) < 0 ){
         printf("getsockname failed.\n");
        }
        local_ip = ntohl(local_socket.sin_addr.s_addr);

        printf("PORT %d,%d,%d,%d,%d,%d\n",
                (local_ip >> 24) & 0xff,
                (local_ip >> 16) & 0xff,
                (local_ip >> 8) & 0xff,
                (local_ip ) & 0xff,
                (ntohs(local_socket.sin_port) >> 8) & 0xff,
                (ntohs(local_socket.sin_port) ) & 0xff);

# わかってから man を読むと、何が書いてあるか理解できるんだけどなぁ。

> あるいは、CでかかれたFTPクライアント
FreeBSD あたりなら
    ftpコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/ftp/
    fetchコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/fetch/
    ftpライブラリ(fetchがリンクしている) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/
などなど。FreeBSD 以外の環境でコンパイルしようとすると
苦労するでしょうから、ソースを読むだけにしておくのがいいでしょう。

今回参考にしたのは (結果的には丸写しになってしまったけど)
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ftpio.c?rev=1.33
です。

> CDプレイヤーを立ち上げるとerorrと出てきます。
> mountの設定なのでしょうか?
mount は必要ないです。音楽CDを聞くには、
    「CD-ROMドライブに何曲目を鳴らせ」
という指令を送るだけで、後は CD-ROM ドライブが勝手にやってくれます。

で、お使いのプレイヤーの -device とか -d とかのオプションで、
CD-ROM ドライブのデバイスを指定できませんか?
# FreeBSD なら xcdplayer -device /dev/wcd0c とか
# xcdplayer -device /dev/cd0c ですけど、Linux は知りません。

No. 599 # 68user 1999/12/17 (金) 06:06
サンプルも作ってみました。anonymous ftp で、
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。
    http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c

レスポンスコードは見ていないし、バッファオーバーランはするし、
RFCに準拠していないし、ファイルがなかったらデッドロックするしで、
バグだらけですが、改造してみて下さい。

No. 600 # Kai 1999/12/18 (土) 00:27
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様
早速これを参考に頑張ってみたいと思います!!!

ほんとうにありがとうございます!!!

No. 601 # Yuuki 1999/12/19 (日) 08:50
あんまり意味のない話題なのですが、、、、
Linuxのペンギン

FreeBSDのマスコット?
(http://www.freebsd.org/gifs/freebsd_1.gif の右側のキャラクター)
どっちが好きですか?
僕はFreeBSDの方なんですが。

FreeBSDといいつつLinux使ってるんですけどねぇ〜<僕
RPMのデータベース(?)が壊れて強制再インストールという事故にあった事があるので
今度OS乗り換える時は、68userさんおすすめのFreeBSDにしようかと。

No. 602 # 68user 1999/12/19 (日) 15:59
> FreeBSDのマスコット?
でーもん君 (daemon) です。手に持ってるのが fork で
(fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。

> どっちが好きですか?
うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/
でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で
かわいくないし (ペンギンにも名前あるんでしたっけ?)。

> おすすめのFreeBSDにしようかと。
誤解のないように言っておきますが、Linux を使ったことは
ありません。なので、Linux と比べて FreeBSD がよい、という
わけではないです。

ただ、あんなにディストリビューションが乱立した状況は
混乱の元であると思ってますので (30個くらいありますよね)、
あまり人には勧めたくないです。そういう意味で、まわりの人には
    「Linux は使ったことはないけど、一本化されている FreeBSD の
        方がいいんじゃないの?」
と言ってます。

あと、NetBSD やら OpenBSD なんかを使ってみるのもいいかも
しれませんね。そこらへんを問題なくインストールできるなら、
少なくとも中級者でしょうから。

例えば NetBSD-1.4.1 (最新リリース) では、ユーザを登録する
コマンドが標準で入ってないので、/etc/mastep.passwd を
いじって pwd_mkdb することになります。
# もちろん登録コマンドをインストールする手もあります。

No. 603 # げんたろう [E-mail] 1999/12/20 (月) 07:47
FreeBSD上で、Treeコマンドを使いたいのだけけれど、
どうしたらよいのだろう。
もし、よろしかったら教えて頂けないでしょうか?

m(_ _)m

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