Вы не упомянули API, но функция / системный вызов accept
обычно принимает аргумент sockaddr *
, в котором хранится адрес партнера.
int accept(int socket, struct sockaddr *restrict address, /* <---- */
socklen_t *restrict address_len);
В качестве альтернативы вы можете использовать getpeername
для получения того же адреса в более позднее время.
int getpeername(int socket, struct sockaddr *restrict address,
socklen_t *restrict address_len);
Если вы используете winapi: accept
,getpeername
.