C言語-bind関数



bindシステムコール

bindシステムコールは、ソケットに名前(ポート番号 & IPアドレス)を付けます。

#include<sys/types.h>
#include<sys/socket.h>
int bind(int socket, const struct sockaddr *address, size_t address_len);

引数の意味:

socket ソケット記述子
address プロトコル対応のアドレス構造体へのポインタ。
address_len アドレス構造体のサイズ

戻り値:

0 成功

-1 失敗


戻り値が失敗(-1)の場合のerrnoの値:

EBADF ファイルディスクリプタが無効である。
ENOTSOCK ファイルディスクリプタがソケットを参照していない。
EINVAL ファイルディスクリプタがすでに名前のついたソケットを参照している。
EADDRNOTAVAIL アドレスを利用できない。
EADDRINUSE アドレスにはすでにソケットがバインドされている。
EACCESS 指定されたファイルシステムのパーミッションがない。
ENOTDIR ファイル名の指定が適切でない。
ENAMETOOLONG ファイル名の指定が適切でない。

関連

C言語-ソケットプログラミング




スポンサード リンク