bind SOCKET,SOCK_ADDR
ソケットSOCKET
に、IPアドレスとポート番号をパックしたソケットSOCK_ADDR
を割り当てます。成功時には"真"を返し、失敗時には"偽"を返します。
bindの使い方
SOCKET
はsocket
を使って事前に用意しておきます。
例えばソケット S にポート 9999 番を割り当てるには、下記のようにします。
bind(S, pack_sockaddr_in(9999, INADDR_ANY));
OS にポート番号を選ばせることもできます。
bind(S, pack_sockaddr_in(0, INADDR_ANY));
bind
にpack_sockaddr_in
の返却値 (IPアドレスとポート番号をパックしたもの) を渡すのは、同じマシンにIPアドレスが複数割り当てられている場合に、どちらのIPアドレスのポートを使うのかを選択できるようになっているためです。通常はIPアドレスとしてINADDR_ANY
を指定しておけば問題ありません。
IPアドレスを指定
$inet_addr = inet_aton("192.168.0.10"); bind(SOCKET, sockaddr_in($port, $inet_addr));