Когда вы подключаетесь к серверу, вы получаете номер порта, который присваивается вам системой (если только вы не bind
сокет перед подключением). Когда сетевой стек сервера отвечает на ваш запрос на подключение, «исходный» порт - это новый номер порта сервера, а «целевой» порт сообщения - ваш порт. Вот как сетевой стек на стороне клиента знает, какой порт имеет сервер.
Новый номер порта на сервере, используемый для вашего соединения, не может быть установлен или изменен реальной серверной программой, это сетевой стек на сервере, который просто захватывает доступный номер порта.
Редактировать : Вы также можете прочитать немного о том, как установлены соединения , например, трехстороннее рукопожатие.