Оба connect() и bind() системные вызовы "связывают" дескриптор файла сокета с адресом (обычно это комбинация ip/port). Их прототипы похожи на: -
int connect(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);
и
int bind(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);
Какая разница между двумя вызовами? Когда следует использовать connect() и когда bind()?
В частности, в некоторых примерах клиентских кодов сервера клиент обнаружил, что клиент использует connect(), а сервер использует вызов bind(). Причина не была мне в полной мере понятна.

