Оба 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()
. Причина не была мне в полной мере понятна.