|
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
|
|||||||||||
Клиент - сервер. Пересылка Bitmap20.11.2016, 12:42. Показов 1758. Ответов 10
Метки нет (Все метки)
Задача такая: Захватить видео с вебкамеры на программе-сервере, добавить в последние биты каждого пикселя, биты какого либо файла, принять видео на клиенте, с возможностью сохранить отправленный с сервера файл.
Проблема такая: сильно теряется качество bitmap (перед отправкой ~ 600Кб, после принятия ~ 30Кб). Отправляю и принимаю byte массив. Отправляю с сервера:
Так же в кадре который содержит файл закрашиваю пиксел(0,0) черным, но на приеме он так же теряет этот цвет, т.е. внешне он кажется так же черным но по факту ~ RGB(11, 14, 9)
0
|
|||||||||||
| 20.11.2016, 12:42 | |
|
Ответы с готовыми решениями:
10
Зависает сервер при создании приложения типа клиент/сервер
|
|
11 / 11 / 4
Регистрация: 03.07.2014
Сообщений: 28
|
|
| 20.11.2016, 15:22 | |
|
Всё дело в том что при отправке 600кб данных, драйвер сетевой карты и разбивает ваши данные на кусочки меньше, и вы принимаете только первый кусок...
Добавлено через 1 минуту Совет: используйте WCF для передачи данных по сети, там таких проблем вообще нет.
1
|
|
|
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
|
||||||
| 21.11.2016, 08:12 [ТС] | ||||||
|
но размер массива byte и при отправке и при приеме совпадает
Добавлено через 8 минут возможно ли как то разбивать кадр до отправки и собирать на приеме, чтобы оставить tcp? Добавлено через 8 часов 22 минуты разобрался сам перед тем как принимать увеличил буфер приема:
0
|
||||||
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,418
|
|
| 21.11.2016, 08:44 | |
|
neyron_qwq, не нужно буфер таким большим делать. Несколько десятков килобайт - за глаза. Посылай данные порциями: заполнил буфер, дождался, пока данные отправились, потом следующую порцию в буфер. И так пока весь кадр не отправится.
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
|
|
| 21.11.2016, 09:52 [ТС] | |
|
Usaga, таким образом не получалось, если запустить программу через отладчик и посмотреть что приходит что уходит, то всё нормально и кадр отрисововался хорошо, но если просто запустить программу, то терялось всё кроме первого куска
0
|
|
|
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
|
|
| 21.11.2016, 10:23 | |
|
neyron_qwq,
вы же его при отправке сами конвертируете в жпег на 19 строке сервера: bmp.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);потому качество и теряется, тем более без указания этого самого качества конвертирования. указывайте бмп при сохранении или пнг(он без потери информации).
0
|
|
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,418
|
|
| 21.11.2016, 10:27 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
|
|
| 29.11.2016, 19:59 [ТС] | |
|
Usaga, почитал на эту тему, и была информация что это особенность tcp, т.к. инфу о доставке он получает и отсылает кусок уже со следующего кадра
0
|
|
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,418
|
|
| 29.11.2016, 20:17 | |
|
neyron_qwq, не кадра, а "пакета". TCP отошлёт весь твой буфер, разбив его на пакеты. TCP гарантирует очерёдность отправки пакетов и их целостность. Если какие-то данные теряются, то это либо по вине интернет-канала очень плохого, либо твой алгоритм что-то не то делает.
Кстати, BMP отсылать - действительно глупо. Слишком уж это избыточный по размеру формат (данные в нём не сжаты, но это не причина потери данных).
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
|
|
| 30.11.2016, 10:48 [ТС] | |
|
Usaga, интернет канал тут не причем, я пока тестирую на одном компьютере. и теперь это не важно, сейчас у меня проблема с разбиением файла и отправкой в кадрах
0
|
|
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,418
|
|
| 30.11.2016, 11:30 | |
|
0
|
|
| 30.11.2016, 11:30 | |
|
Помогаю со студенческими работами здесь
11
Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст
Клиент-сервер: Как определить, что клиент отключился? Клиент-серверное приложение: как определить, что сервер/клиент не отвечает в течении определенного времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|