Для одного из моих классов я должен запрограммировать сервер и клиент, и нам был предоставлен пример кода для работы. Вот фрагмент кода я запутался:Что такое Sockaddr_in в этой программе?
main()
{
int sock, sock_current, cc, fromlen, tolen; /*sd is the socket */
int addrlen;
struct sockaddr_in sin;
struct sockaddr_in pin;
/* get an internet domain socket */
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
/* complete the socket structure */
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons(PORT);
/* bind the socket to the port number */
if (bind(sock, (struct sockaddr *) &sin, sizeof(sin)) == -1) {
perror("bind");
exit(1);
}
Я думаю, что цель sockaddr_in STRUCT грех хранить локальный IP-адрес для связи с носком, когда он получает связан. Правильно ли я это понимаю? Если я прав, как это делает этот фрагмент кода? Я не понимаю:
/* complete the socket structure */
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons(PORT);
С каким битом вы боретесь? –