Привет,
Если я правильно понимаю протокол FTP (RFC959), в активном режиме с настройками по умолчанию сервер устанавливает соединения для передачи данных от своего порта 20 к которому подключился клиент ip / port.
Может кто-нибудь объяснить мне, как это работает с несколькими клиентами?(или скажите, где я ошибся)
Чтобы быть более точным, скажем, я:
1) вызов socket()
2) bind()
дескриптор моего ip /порт 20
3) connect()
клиент для установления соединения для передачи данных
, в то время как в другом потоке, обрабатывающем другого клиента, я пытаюсь сделать то же самое, вызов bind()
завершится неудачно по очевидным причинам.
Мне известно, что вы можете использовать setsockopt () с SO_REUSEADDR, чтобы сокеты связывались с одним и тем же адресом / портом, но будут ли пакеты доставляться правильно?Я совершенно растерялся.
Я пока не смог ничего найти по этому вопросу, поэтому любая помощь будет принята с благодарностью.