Вам не нужно искать порт - просто вызовите recv()
или recvfrom()
на сокете, который вы использовали для отправки, и он будет использовать тот же локальный порт (порт становится связанным, когда вы делаете sendto()
).
Вы также можете позвонить getsockname()
на отправляющем сокете, чтобы найти номер порта для информационных целей, но вы все равно должны использовать отправляющий сокет для получения - если вы этого не сделаете, между связыванием сокета и ответ возвращается из сети, что может привести к потере ответов.