68user's page 掲示板

Prev< No. 598> Next  [最新発言に戻る] [過去ログ一覧]
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 は知りません。

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