関数リファレンス


     ■ int socket(int domain, int type, int protocol)

        ソケットの生成


        引数:
           int domain     AF_UNIXまたはAF_INETを指定する
           int type       コネクション型ならSOCK_STREAM、コネクションレス型ならSOCK_DGRAM
           int protocol   通常は0を指定しておく

        返値:
           正値   生成したソケットのディスクリプタ(識別子)
           負値   エラー




     ■ int bind(int s, struct sockaddr *name, int namelen)

        ソケットアドレスの指定
   

        引数:
           int s                    ソケットのディスクリプタ
           struct sockaddr *name    アドレスを保持している構造体へのポインタ。
                                    AF_INETの時はsockaddr_in型の構造体となる。
           int namelen              構造体sockaddrの大きさ

        返値:
           0   成功 
          -1   失敗



     ■ int listen(int s, int backlog)

        コネクト要求をいくつ受け入れるか指定し、OSに知らせる


        引数:
           int s        ソケットのディスクリプタ
           int backlog  受け入れる接続要求の数

        返値:
            0   成功
           -1   失敗



     ■ int accept(int s, struct sockaddr *addr, int *addrlen)

        コネクト要求を待ち、要求がくると接続を行う

        引数: 
           int  s                 ソケットのディスクリプタ
           struct sockaddr *addr   クライアントのアドレス格納用の構造体へのポインタ
           int *addrlen           struct sockaddrの大きさへのポインタ

        返値:
           正値   受け入れられたソケットのディスクプリタ
           -1     失敗



     ■ int write(int fd, char *buf, int nbyte)
   
        ソケットへデータを書き込む(データを送信する)

        引数:
           int   fd      ソケットのディスクリプタ
           char  *buf    送信するデータ
           int   nbyte   送信するデータのバイト数

        返値:
           実際に送信されたデータのバイト数




     ■ int read(int fd, char *buf, int nbyte)

        ソケットからデータを読み込む(データを受信する)

        引数:
           int   fd      ソケットのディスクリプタ
           char  *buf    受信したデータを格納するバッファ
           int   nbyte   受信したいデータ数

        返値:
           実際に送信されたデータのバイト数