|
こんにちわ!このHPで最近勉強させてもらってます! ところで、FTPクライアントをC言語で書く予定は無いのでしょうか? 一応見よう見まねでこのHPのパールで書かれたソースから Cで書いてみたのですが、見事失敗! (具体的にいうと、getsocknameの使い方がmanでしらべても よくわからなかったのです(泣)できれば教えてください!) ですから、説明無しでもソースだけアップしてもらえたらな〜、 なんて自分勝手なことを思ってしまってます。(ごめんなさい) あるいは、CでかかれたFTPクライアントをアップしている HPがありましたら、ご紹介いただけると幸いです! |
|
こんにちわ、はじめましてあっちーといいます。 最近自分のパソコンにLinuxを入れました。 でもコマンドの使い方とか全然わかりません。 なんとxWindowを立ち上げてサウンドの設定までできましたが CD-ROMが外付けなためCDROMびアクセスできません。 CDプレイヤーを立ち上げるとerorrと出てきます。 mountの設定なのでしょうか? パソコンはSony VAIOでPCG505Sです。 CD-ROMはPCGA-CD5です。 いきなり掲示板に書いた内容がこんなですが もしよろしければどなたか教えてください。 これからLInuxとUnixの勉強を始めていきます。 よろしくお願いします。 |
|
Kaiさんゑ。 単にFTPが使いたい、てだけならば CPANに行けばPerl用のFTPモジュールが置いてあるなりョ。 |
|
> 具体的にいうと、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 は知りません。 |
|
サンプルも作ってみました。anonymous ftp で、 ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。 http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c レスポンスコードは見ていないし、バッファオーバーランはするし、 RFCに準拠していないし、ファイルがなかったらデッドロックするしで、 バグだらけですが、改造してみて下さい。 |
|
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様 早速これを参考に頑張ってみたいと思います!!! ほんとうにありがとうございます!!! |