Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача данных между java приложениями при плохом соединении. Посоветуйте технологии. / 25 сообщений из 72, страница 1 из 3
22.12.2014, 12:32
    #38839530
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Есть сервер и некоторое количество клиентов.

Сервер в зависимости от ситуации будет отправлять сигналы, данные клиентам.

Клиент как и сервер это java приложение. Интернет соединение может быть плохим, а данные могут быть достаточно объёмными - видеозаписи, картинки. Мы должны быть уверены, что данные окажутся на клиенте.

Посоветуйте какие технологии лучше всего использовать для решения такой задачи.
...
Рейтинг: 0 / 0
22.12.2014, 12:59
    #38839572
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Hypertext Transfer Protocol -- HTTP/1.1 .
Какие конкретно библиотеки упростят работу с деталями протокола - вопрос отдельный.
Можете посмотреть на Apache HttpComponents .
...
Рейтинг: 0 / 0
22.12.2014, 13:38
    #38839642
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90,

А сервер и клиенты находятся на одной машине? Что используется в качестве хранилища больших данных?
По мне так общение сервера и клиентов через JMS (если его можно поставить).
...
Рейтинг: 0 / 0
22.12.2014, 13:40
    #38839646
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Крошкин ДмитрийА сервер и клиенты находятся на одной машине?

Конечно. Это ведь единственный вывод, который можно сделать из "Интернет соединение может быть плохим".
...
Рейтинг: 0 / 0
22.12.2014, 14:12
    #38839709
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Машины распределены и очень сильно.



Basil A. Sidorov
Basil A. Sidorov Hypertext Transfer Protocol -- HTTP/1.1.
Какие конкретно библиотеки упростят работу с деталями протокола - вопрос отдельный.
Можете посмотреть на Apache HttpComponents.

а возможно при помощи этого реализовать докачку? ну например скачали пол файла, интернет пропал, потом появил через 10 минут и чтоб не самого начала качать всё это добро, а с того места, где остановились.

а нет смысла смотреть в сторону java to java вещей? http://www.hazelcast.com/ , http://www.terracotta.org
...
Рейтинг: 0 / 0
22.12.2014, 14:26
    #38839726
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90а возможно при помощи этого реализовать докачку?
ну например скачали пол файла, интернет пропал, потом появил через 10 минут и чтоб не самого начала качать всё это добро, а с того места, где остановились.

Да. Но нет проверки контрольной суммы. Стоит её добавить.
...
Рейтинг: 0 / 0
22.12.2014, 14:37
    #38839735
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Blazkowiczredwhite90а возможно при помощи этого реализовать докачку?
ну например скачали пол файла, интернет пропал, потом появил через 10 минут и чтоб не самого начала качать всё это добро, а с того места, где остановились.

Да. Но нет проверки контрольной суммы. Стоит её добавить.

покажете какой-нить пример с интернетов? а то я не знаю перевести слово докачка)
...
Рейтинг: 0 / 0
22.12.2014, 14:47
    #38839742
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
...
Рейтинг: 0 / 0
22.12.2014, 14:50
    #38839744
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90,

Тут ещё stackoverflow хороший термин подсказал:
https://www.google.com/search?q=high latency file transfer
...
Рейтинг: 0 / 0
22.12.2014, 19:36
    #38840013
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Blazkowicz,

Честно говоря непонятно, что мне с этой инфой делать((

примерчик бы кода....
...
Рейтинг: 0 / 0
22.12.2014, 20:32
    #38840044
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Вы напрасно спецификацию не читаете:
1. If-Unmodified-Since
2. Range
...
Рейтинг: 0 / 0
22.12.2014, 20:48
    #38840049
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Плюс, не забываем, что при начальном запросе (нормальный) сервер возвращает заголовок-тег . При конструировании условного запроса ETag поможет "не промахнуться".
Если нужны контрольные суммы, то Content-MD5 .
Ну и так далее.
...
Рейтинг: 0 / 0
22.12.2014, 22:21
    #38840077
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Basil A. Sidorov,

я не понимаю как чтение спецификации http поможет написать мне код.
...
Рейтинг: 0 / 0
23.12.2014, 08:46
    #38840190
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90Basil A. Sidorov,

я не понимаю как чтение спецификации http поможет написать мне код.Фигасе заявленьице !!! Тогда что Вы делаете в программировании? Ищете готовые решения и берёте их для своих нужд?
...
Рейтинг: 0 / 0
23.12.2014, 10:22
    #38840252
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Alex Kuznetsov,

опыт подсказывает, что всё в основном написано до нас, а эта проблема видится типовой.

Неужели надо самому в хэдеры писать какие-то md-5 хэши ?
...
Рейтинг: 0 / 0
23.12.2014, 10:27
    #38840262
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90Есть сервер и некоторое количество клиентов.

Сервер в зависимости от ситуации будет отправлять сигналы, данные клиентам.

Клиент как и сервер это java приложение. Интернет соединение может быть плохим, а данные могут быть достаточно объёмными - видеозаписи, картинки. Мы должны быть уверены, что данные окажутся на клиенте.

Посоветуйте какие технологии лучше всего использовать для решения такой задачи.

1) можно придумать велосипед и использовать WebSockets - сервер сам рассылает всю информацию по клиентам и держит соединения .

если все на java то ваш клиент это либо swing либо javafx


пример на спринге :

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-websocket-jetty

пример в ide netbeans

https://netbeans.org/kb/docs/javaee/maven-websocketapi_ru.html


можно использовать обычные TCP сокеты - для swing либо javafx
тогда вам нужно будет реализовать свой протокол...

либо берите готовое решение проверенное временем - RMI - быстро и надежно.

авторИнтернет соединение может быть плохим


лучше вложиться в каналы ибо сейчас это дешевле чем писать свои протоколы итд ...
...
Рейтинг: 0 / 0
23.12.2014, 10:27
    #38840263
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90опыт подсказывает, что всё в основном написано до нас, а эта проблема видится типовой.Т.е. вам хочется, чтобы за вас не только написали код, но и отыскали кем-то написанное?
"Вы есть слишком много кушать". Это во-первых.
А во-вторых - если поиск готового решения занимает больше времени, чем самостоятельное решение задачи - задачу надо решать самостоятельно. Кроме всего прочего, начинаете понимать, какие вещи проще найти, а какие - сделать самому.Неужели надо самому в хэдеры писать какие-то md-5 хэши ?Зависит от требований. Собираетесь проверять контрольную сумму на клиенте - надо. Не собираетесь - не надо.
...
Рейтинг: 0 / 0
23.12.2014, 10:30
    #38840265
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Atum1лучше вложиться в каналы ибо сейчас это дешевле чем писать свои протоколы итд ...Вложиться в канал(ы) сервера - не проблема. Что делать с клиентами?
...
Рейтинг: 0 / 0
23.12.2014, 10:40
    #38840280
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Basil A. Sidorov,

авторТ.е. вам хочется, чтобы за вас не только написали код, но и отыскали кем-то написанное?
"Вы есть слишком много кушать". Это во-первых.
А во-вторых - если поиск готового решения занимает больше времени, чем самостоятельное решение задачи - задачу надо решать самостоятельно. Кроме всего прочего, начинаете понимать, какие вещи проще найти, а какие - сделать самому.

Никогда не решал подобную проблему, поэтому мне тяжело оценить проще самому написать или найти решение. Точнее я даже не знаю с чего начать писать своё решение.
Верно я понял, что предлагается взять какую-то библиотеку, которая будет формировать http пакеты?

авторВложиться в канал(ы) сервера - не проблема. Что делать с клиентами?
+1
...
Рейтинг: 0 / 0
23.12.2014, 10:50
    #38840293
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90Точнее я даже не знаю с чего начать писать своё решение. conditional get .Верно я понял, что предлагается взять какую-то библиотеку, которая будет формировать http пакеты?Вам дали всю необходимую информацию.
Могу добавить, что для статических ресурсов на сервере делать ничего не надо - любой вменяемый самостоятельно обработает клиентский запрос. Что позволяет есть слона по частям - написать и отладить клиента и топать дальше.
...
Рейтинг: 0 / 0
23.12.2014, 10:56
    #38840301
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90Мы должны быть уверены, что данные окажутся на клиенте.
кроме всего того что Вам правильно написали, это не есть ТЗ.
- что значит - "оказались" на клиенте?
- видеофайл FullHD оказался на клиенте. - что означает?
...
Рейтинг: 0 / 0
23.12.2014, 11:01
    #38840309
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
redwhite90Сервер в зависимости от ситуации будет отправлять сигналы, данные клиентам.
вы ищите готовые решения.
Для этого, одной фразы выше недостаточно.
Т.к. _возможно_. дело не только в протоколе.
...
Рейтинг: 0 / 0
23.12.2014, 11:12
    #38840328
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Atum11) можно придумать велосипед и использовать WebSockets - сервер сам рассылает всю информацию по клиентам и держит соединенияЭто и всё нижепоскипанное великолепие разбивается об один простой вопрос: что делать, если соединение всё-таки оборвалось?
Задачу надо решать просто, но не проще, чем это возможно.
Задача "передать данные через ненадёжный канал" обязана уметь работать с обрывками данных. Ни модные веб-сокеты, ни классический RMI не умеют этого из коробки. Что плавно переводит нас ко второму вопросу: зачем изобретать велосипед, если не менее классический HTTP предоставляет всю необходимую функциональность?
...
Рейтинг: 0 / 0
23.12.2014, 11:12
    #38840329
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
Petro123,

автор- что значит - "оказались" на клиенте?

На файловой системе клиента оказался переданный файл. этот файл должен совпадать с тем, что передавался сервером)))
...
Рейтинг: 0 / 0
23.12.2014, 11:13
    #38840330
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача данных между java приложениями при плохом соединении. Посоветуйте технологии.
RestFull service + передавать по частям файл, с возможностью повторения в случае ошибки.
Я так газпромовские архивы перекачиваю.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача данных между java приложениями при плохом соединении. Посоветуйте технологии. / 25 сообщений из 72, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]