bind()¶
Purpose¶
bind() assigns a local address and port to a socket.
TCP servers usually call bind() before listen().
Header¶
Prototype¶
Minimal Example¶
struct sockaddr_in addr = {0};
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(12345);
if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
perror("bind");
return -1;
}
Common Pitfalls¶
- Forgetting
htons()for port numbers. - Forgetting
SO_REUSEADDRduring repeated local testing. - Binding to a specific interface when
INADDR_ANYwas intended.