Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215

Немогу принять ответ от сервера. MVP архитектура

19.11.2017, 18:59. Показов 815. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Представте самый простой клиент-сервер на сокетах.

Как там все работает:
1. Клиент посылаем на сервер запрос (какието данные, неважно)
2. Сервер както обрабатывает полученные данные, и отвечает клиенту.
2. Клиент принимает этот ответ

И ЧТО ДАЛЬШЕ?

как передать полученные данные в Интерфейс?

- ответ от сервера может поступить не сразу, а может и вообще не поступить (потеря связи, преблемы с сервером...)
- а что если клиент послал больше одного запроса, и сервер не обязательно пришлёт все ответы поочередно (например мы отправили на сервер 2 запроса "сколько время", "какая сейчас температура", а сервер первым делом ответил на вопрос о температуре)...
- работа с сетью/интернет внедрять в Модель (в MVP архитектуре)? или это отдельный фреймворк с каркасом к которому мы будем обращатся из модели?

Я не могу сообразить как "соеденить" отправленый запрос и ответ от сервера?
Может стоит на стороне клиента генерировать какойто уникальный ID отправляемых данных (пакета), и что бы сервер в ответе присылал этот же ID вместе с данными...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2017, 18:59
Ответы с готовыми решениями:

Принять json ответ с сервера
Здравствуйте. Такая проблема: не могу принять json ответ от php сервера в js скрипте. function send(){ var a =...

Принять ответ с другого скрипта
Есть скрипт на стороннем сервере, который работает с API и возвращает 0 либо 1: Формат ответа: <response> ...

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

7
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
19.11.2017, 21:11
Цитата Сообщение от Astend Посмотреть сообщение
И ЧТО ДАЛЬШЕ?
Начни отсюда.
0
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
19.11.2017, 22:42  [ТС]
Не понял, при чем тут AJAX?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
21.11.2017, 06:41
Astend,

http://www.fandroid.info/lekts... j-chast-1/

Но для новичка материал по этой ссылке довольно сложно представлен...
0
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
29.11.2017, 15:17  [ТС]
Тогда другой вопрос, а есть уже готовые фреймворки Клиент-серверов для java?

Должны быть готовые методы для отправки SQL запросов, и получения ответов на эти запросы от сервера.
Также медоты отправки файла на сервер.

Хотелось что бы выглядело это как то так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
... queryResponse = Network.http.select(String table, String columns[], ...);
 
if(queryResponse.getCode() == Code.SUCCESS) {
    queryResponse.getScalar();
    //или
    queryResponse.getArray();
    //или
    queryResponse.getTable();
    ...
} 
else if( queryResponse.getCode() == Code.ERROR ) {
    //do somethink
}
else {
    //do somethink
} 
 
 
//Вставить
Network.http.insert("TableName", "Columns"...);
 
//Обновить
Network.http.upade("TableName", "Columns"...);
 
//Удалить
Network.http.delete("TableName", "Columns"...);
 
//Выгрузить файл на сервер
... ftpResponse = Network.ftp.send(File[] files);
 
//Запрос на загрузку файлов с сервера
... ftpResponse = Network.ftp.loadFile(args...);
 
...
if(ftpResponse.getCode() == Code.SUCCESS) {
...
    File[] file = ftpResponse.getFiles();
}
...

или как вариант какойто интерфейс:
Java
1
2
3
4
ReceiveDataI {
    onQueryReceive(Query query);
    onError(Error error);
}
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
29.11.2017, 15:29
Цитата Сообщение от Astend Посмотреть сообщение
Должны быть готовые методы для отправки SQL запросов, и получения ответов на эти запросы от сервера.
Зачем клиента нагружать информацией о структуре бд?

Обработку и трансформацию данных должен обеспечивать сервер, давая клиенту интерфейс
для получения их в требуемом виде.
0
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
29.11.2017, 16:40  [ТС]
Любопытный, я именно это и имею ввиду, чет я психонул и вставил эти 3 буквы SQL. Но сути вопроса это не меняет.

По сути я могу начать создавать велосипед, опустится на уровень TCP, начать создавать какую то архитектуру. Вопрос то зачем это делать если такое уже сделано больше 30 лет, может и больше.

Всегда проблема найти уже готовое решение, выучить его и начать использовать.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.11.2017, 17:40
в гугл вбей
spring boot rest hibernate crud example
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2017, 17:40
Помогаю со студенческими работами здесь

POST request. Как принять и отправить ответ
Добрый день дорогие форумчане! Помогите определиться пожалуйста. Стоит такая задача: Есть клиент который посылает POST...

Делаю командную строку, как принять ответ в правильной кодировке?
Imports System.Runtime.InteropServices Public Class Form1 Private WithEvents MyProcess As Process Private Delegate Sub...

Как правильно принять ответ в виде XML и привести к читаемому виду
Начал изучать ajax в связке jquеry, вот пытаюсь сделать простой пример, есть 3 текстовых поля, хочу по кнопке получить сумму чисел. ...

Отправить команду на устройство, подключенное к компьютеру через ethernet, и принять от него ответ
Здравствуйте, возникла проблема в подборе материала и примеров выполнения программы по работе с ethernet Собственно есть устройство...

Indy: программа не получает правильный ответ от сервера, но сниффер показывает правильный ответ
Всем привет. Моя программа должна сделать гет запрос на определенный сайт. Я включаю программу и снифферю. В сниффере показывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru