Столкнулся второй раз с "юникс стилем" программ использующих сетевой обмен данными...
Когда посылаешь файл в каталог на FTP (ftp.xxx.com/directory/filename), то такой формат имени удалённого файла, directory/filename, одинаково хорошо работает для MS Windows и Unix based FTPs.
Когда же используешь нотацию directory\filename, то MS надо это и посылать. Для юниксов же надо посылать directory\\filename в сеть!
Т.е, LPCTSTR для MS remoteFileName= "directory\\filename" (что ясно и понятно), а для юникс remoteFileName= "directory\\\\filename" (что ясно и смешно).
Такая нежная восприимчивость юникса к эскейп последовательнотям всего лишь в имени файла, передаваемого по сети (передаваемого по сети _имени_) немного удивляет и настараживает неискушённого программиста, вроде меня.
Казалось бы используй / вместо \\. Но не ту-то было. Первый раз столкнулся в с тем, как приложения первоначально написанные для юникс, интерпретируют строки, передаваемые по сети - для MySQL. Легко проверить, что если в базе данных мы захотим хранить path \\host\directory\filename, то придётся использовать нечто вроде LPCTSTR fname = "\\\\\\\\host\\\\direcory\\\\fiename";
Ничего такого для Microsoft нет. Пишем обычную строку:
LPCTSTR fname = "\\\\host\\direcory\\fiename"
Поинт, в том, что негоже по сети передовать строки так, как принято в том или другом языке программирования. Если надо по сети передать строку "\\aaa\bbb", то ровно это, ровно эти байты и должны проезжать по сетке, а не эскейп последовательности.
Поправьте, если я не прав.
Спасибо.
ПС. RFC ftp умалчивает спецификацию последовательности байт представляющих имя ресурса ftp.
unc ресурса ФТП
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: unc ресурса ФТП
Да прав, прав, извращенцы они ...vg писал(а):Поправьте, если я не прав.
Хотя мне с этой проблемой проще, JDBC драйвер всё это прозрачно обрабатывает, потому как стандарт

-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
Re: unc ресурса ФТП
Всё же я не прав здесь. Причём жуткоMarmot писал(а):Да прав, прав, извращенцы они ...vg писал(а):Поправьте, если я не прав.
Хотя мне с этой проблемой проще, JDBC драйвер всё это прозрачно обрабатывает, потому как стандарт.

Как правильно сказал один парень обо мне - такие извращенцы появляются, если некогда читать маны.http://dev.mysql.com/doc/refman/5.1/en/ ... -mode.html
NO_BACKSLASH_ESCAPES
Disable the use of the backslash character (‘\’) as an escape character within strings. With this mode enabled, backslash becomes any ordinary character like any other.
Единственное оправдание - ведь действительно некогда.

С FTP похоже тоже не очень прав.

- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация: