Как работает функция getsockname()?

307
22 сентября 2017, 20:04

Я создаю сокет, привязываю его к порту 33005. Далее хочу узнать к какому порту привязан сокет, но почему-то sockaddr_in.sin_port показывает другой результат

SOCKET sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
::sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = ::inet_addr("127.0.0.1");
addr.sin_port = ::htons(33005);
int error = ::bind(sock, (sockaddr*)&addr, sizeof(addr));
error = ::listen(sock, 64);
sockaddr_in addr2;
int len;
error = ::getsockname(sock, (sockaddr*)&addr2, &len);
READ ALSO
Создание указателя на метод std::vector::at()

Создание указателя на метод std::vector::at()

Требуется создать указатель на функцию at() стандартного вектора, например std::vector

167
Правильный ли алгоритм к заданию? [требует правки]

Правильный ли алгоритм к заданию? [требует правки]

Правильно ли я сделал алгоритм к заданию? (Оно на картинке в углу)

210
Popup Maker - как отключить куки?

Popup Maker - как отключить куки?

Установлен Popup Maker, в нем Contact Form 7После отправки заполненной формы попап больше не открывается

223
Триггер с передачей инициатора эвента … jquery

Триггер с передачей инициатора эвента … jquery

Хочу вызвать триггер кликом, чтобы this из другой функции подхватил кликнутый элементМой код получает ошибку на slice, что значение не определено

185