関数リファレンス
■ 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 受信したいデータ数 返値: 実際に送信されたデータのバイト数
![]()
![]()