|
|
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вопрос такой: Есть файлы 3 штуки. Мне нужно слить их в один файл - который я передам по сетке, после чего его надо будет разложить-опять на 3 файла. Все файлы бинарики. При этом я хочу использовать только windows API. Как это лучше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 12:22 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
needjavaя бы архиватором делал Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 12:27 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
WinSock, tcp. Использовать заголовок, перед данными, в котором будет описано, что это - начались данные + имя файла, идут данные, закончились данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 12:45 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, я поступил следующим образом: каждый файл кодирую в BASE64, затем все три по очереди записываю в новый файл с помощью Код: plaintext 1. 2. 3. Между файлами ставлю символ #. На другом конце читаю файл в строку: Код: plaintext 1. 2. 3. 4. А получившуюся строку раскладываю на 3 и снимаю base64. Но возникает в таком случае проблема: — с файлами по 30-50 кб работает нормально, — с файлами больше 1 мб — вылетает на resize — слишком длинная строка — это в принципе понятно. а вот когда подсовываю файлик в 110 кб — никаких ошибок не вылетает, но в str — ничего не записывается... — непонятно почему??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:18 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
зачем такой гемор? отправляй сначала 8 байтт размер первого файла и отправляй побайтово сам файл. затем также для остальных двух. и всё. это если я правильно понял задачу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:19 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
И лучше все таки использовать протокол. Первый байт комманда: 0 - задать идентификатор файлу 1 - данные файла 2 - конец передачи файла 0: Первый байт - id фала, остальные - имя файла 1: Первый байт - id файла, остальные - данные файла 2: Первый байт - id файла. Есстественно, передовать все именно по tcp, - гаранития доставки и очередности пакетов. Можно расширить протокол, добавлять длины блоков, флаги, почему закончилась предача. Дополнительные комманды о количестве передаваемый файлов и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:38 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
Если честно, я не совсем понимаю, как это через протокол реализовать?. И потом, когда я этот файл из трех создаю - еще неизвестно куда его отправлять и когда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:55 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
needjavaЕсли честно, я не совсем понимаю, как это через протокол реализовать?. И потом, когда я этот файл из трех создаю - еще неизвестно куда его отправлять и когда. Это информация для приемника, что за файл к нему льется. В такой схеме не надо все в один файл сливать. Ты хочешь все данные слить в кашу, а приемник с этим должен будет разбираться. Тебе это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:20 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
ему java нада :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:37 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
дык приемник тоже мой будет(мною написан) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:48 |
|
||
|
Слить файлы на WinAPI
|
|||
|---|---|---|---|
|
#18+
needjavaдык приемник тоже мой будет(мною написан) Ты спрасил, как лучше это реализовать. Я тебе ответил. Считаю плюсами (на вскидку): + не сваливается все в кашу. + возможность для расширения. + повторная использованность в других приложениях. + реализация алгоритма в виде класса, использование его на серере и клиенте, не задумываясь, над реализацией протокола. + возможность определения достоверности данных при передаче (расширение). + возможность передачи вспомогательных данных ну, т.д. можно еще попридумывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34170029&tid=2029926]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 427ms |

| 0 / 0 |
