170 похожих чатов

Джентльмены, подскажите пожалуйста. На TCP сокетах, клиент хочет послать серверу

несколько файлов.
если отправлять их последовательно друг за другом, определить конец файла затруднительно.
Как это сделать более менее "грамотно" наименее костыльно?

использовать модель один сокет один файл ? ( проблема вроде исчезает, но ощущение что перерасход ресурса)
или
"надстраивать" над TCP свой протокол , например посылать сообщение о длине файлов ?
или
может есть еще какой то путь ?

в какую сторону копать не могу разобраться.

5 ответов

9 просмотров

https://stackoverflow.com/questions/4238809/example-of-multipart-form-data видели?

делал такое на лабе в универе, просто посылал сначала небольшой пакет с именем и размером файла, а потом файл слал. Но это так, мб не самый лучший способ)

только надстройкой..

Aleksei-Kudakov Автор вопроса
Grigory Dobrov
https://stackoverflow.com/questions/4238809/exampl...

Нет не видел, но натолкнуло меня на мысль, возможно стоит использовать сериализацию, Паковать несколько файлов друг за другом в какой нибудь сериализатор, протобуф или архив, не приннципиально, получать этот пакет с другой стороны и распаковывать.

Второй путь и есть самый некостыльный

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Если подытожить: По мнению Розыча и Хемуля и др. - предпочтительно по возможности объявлять в секции имплементации потому-что: 1) Выше скорость компиляции 2) Не замусоривается...
notme
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта