В этом механизме есть одна деталь, которая нам пригодится в дальнейшем. Большинство программ-клиентов при подключении к серверу позволяют вы­брать режим обмена данными: активный
или пассивный. Различаются эти два режима именно способом открытия дополнительного соединения для пе­ресылки данных. В активном режиме клиент отсылает серверу команду port, в которой сообщает свои координаты (адрес и номер порта), по которым сервер
должен подключиться к клиенту. Сам же клиент на это время откры­вает указанный порт и ожидает подключения к нему, то есть сам становится как бы мини-сервером. В пассивном режиме ситуация обратная: клиент шлет серверу команду pasv, в ответ на которую теперь уже сервер отсылает клиен­ту свой адрес и номер порта, после чего клиент подключается к серверу на указанный порт. Во многих случаях разницы между этими двумя режимами вы не заметите: большинство серверов и клиентов поддерживают оба режи­ма. Однако если ваша сеть защищена брандмауэром, запрещающим входя­щие соединения, то сервер никак не сможет подключиться к вашему компь­ютеру, и тогда необходимо использовать пассивный режим.

На этом мы закончим с теоретической частью и перейдем к изучению реали­зации FTP-клиента, встроенного в Total Commander. Его поддержке Кристиан Гислер уделял и уделяет очень много внимания, что отразилось и на числе всяческих диалогов, опций и ключей (даже файл конфигурации здесь отдель­ный — wcx_ftp.ini). Чтобы хотя бы вкратце рассмотреть все это изобилие, объема одной главы никак не хватит. Поэтому в текущей главе мы поговорим только о наиболее существенных подробностях работы с FTP, а в следующей коснемся расширенных возможностей встроенного FTP-клиента.