РЕДАКТИРОВАТЬ: Решая проблему, если я слушаю порт 54321 и локальный процесс, прослушивающий порт 12345, подключается ко мне, создавая сокет s
, как мне найти порт, который он прослушивает?
sockaddr_in addr;
int len = sizeof(addr);
getpeername(s, (sockaddr*)&addr, &len);
cout << string(inet_ntoa(addr.sin_addr)) << ":" << ntohs(addr.sin_port) << endl;
Не должен ли вывод быть 127.0.0.1:12345
? Вместо этого я получаю 127.0.0.1:62305
или какой-то другой произвольный номер порта. Это ошибка с моей стороны, или это должно быть так?