connect()¶
Purpose¶
connect() initiates a connection on a socket.
For TCP clients, it connects to the server address and port.
Header¶
Prototype¶
Minimal Example¶
struct sockaddr_in addr = {0};
addr.sin_family = AF_INET;
addr.sin_port = htons(12345);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
perror("connect");
return -1;
}
Common Pitfalls¶
- Not handling
EINPROGRESSfor non-blocking sockets. - Forgetting to check connection completion with
getsockopt(SO_ERROR)in non-blocking designs. - Using host byte order for port numbers.