Изменяется ли порт, когда TCP-соединение принимается сервером?

Когда клиент подключается к серверу с использованием TCP, для streamа TCP создается новый сокет. Остается ли соединение на том же порту, на котором было установлено соединение, или оно изменилось на другой порт?

Новый сокет представляет собой концепцию уровня приложения, потому что каждому установленному соединению нужен уникальный дескриптор файла (также отличный от дескриптора файла прослушивания), который сопоставляется, но не совпадает с TCP-сеансом. Сам сеанс идентифицируется комбинацией адреса источника и адресата и порта. Исходный (клиентский) порт обычно выбирается случайным образом, а конечный (серверный) порт является портом прослушивания. Дополнительный порт не выделяется.

Сокет, связанный с новым дескриптором, возвращаемым accept на сервере, будет использовать тот же порт на стороне сервера соединения, что и исходный сокет (при условии «нормальных» определений, когда клиент инициирует соединение). Новый сокет будет иметь другой номер порта клиента (удаленный порт с точки зрения сервера).

  • C # Установленное соединение было прервано программным обеспечением вашей хост-машины
  • Получение «внешнего» IP-адреса в Java
  • Как выйти из вызова recv () блокировки?
  • Прочитайте удаленный файл в java, который нуждается в имени пользователя и пароле
  • Разница между TCP и UDP?
  • Выберите одно из многих интернет-подключений для приложения
  • Искусственно создать ошибку тайм-аута соединения
  • Проверка состояния сети в C #
  • Давайте будем гением компьютера.