Я пытаюсь установить TCP/IP-соединение между контроллером (клиентом) и программой на своем ПК (сервере) с использованием C++, я использовал сниффера, чтобы видеть, как отправляются запросы клиента и Я узнал, что каждый запрос на подключение от контроллера отправляется с другого порта и известного IP-адреса, он запускается со случайным номером порта и увеличивается на 1 с каждым запросом до тех пор, пока я не перезапущу контроллер или сервер не получит запрос. У меня есть некоторые вопросы.Клиентский порт изменяется с каждым запросом
1- Это стандартное поведение, и какова идея этого, зная, что контроллер является контроллером Mitsubishi?
2- Есть ли способ получить новый порт контроллера без использования accept?
Ожидаемое поведение. Подумайте обо всех случаях сбоев, которые могут произойти, если клиент всегда использовал один и тот же номер порта. Простой - это поздние пакеты из предыдущего соединения, пытающиеся проникнуть в законные пакеты для нового соединения. – user4581301
Если исходный порт был исправлен, что произойдет, если клиент попытается сделать два одновременных соединения с одним и тем же сервером? – Dmitri
Я вижу, что некоторые из них вводят ошибку в коде, если сокет закрыт по какой-либо причине, я должен заставить контроллер отправить новый запрос или связь не будет установлена, и это не будет доступно все время – Mahjob