|
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 8
|
|||||||||||
Организация сетевого приложения на Java18.05.2010, 00:47. Показов 2963. Ответов 4
Метки нет (Все метки)
Требуется создать систему тестирования.
Имеется серверное приложение, работающее с БД (MySQL), которое отвечает на запросы Отдать список вопросов, Получить результаты. Имеется клиент. Который посылает эти запросы и получает ответы в виде XML файла с вопросами и результаты тестирования. Формат вопросов и ответов - XML. Имеются методы создания и парсинга XML документов. Я написал сервер который на каждое подключение создает поток, и когда к нему подключаються отдает список вопросов. Работа идет через сокеты (Input&Output stream). Server
Т.е. К серверу подключились попросили вопросы, потом как-то надо передать ответы, и тебе должны вернуть результаты... может надо посылать тип запроса например сначала "getQ" и ждать вопросов... но как это организовать? Простите, вопрос звучит может быть глупо, но с сетью я работал только на php и совсем чуть на C++. И обработку разных запросов представить сложно. Пытался найти примеры, но везде приводятся простые клиент-сервенные "echo" приложения. Буду очень благодарен за любые наводки.
0
|
|||||||||||
| 18.05.2010, 00:47 | |
|
Ответы с готовыми решениями:
4
Организация сетевого приложения, в основе которого БД MS SQL Организация сетевого шутера Организация прямого сетевого взаимодействия между устройствами |
|
263 / 19 / 3
Регистрация: 26.05.2006
Сообщений: 150
|
|||||||||||
| 18.05.2010, 12:26 | |||||||||||
|
Для начала можно придумать протокол. Например 0 будет означать, что клиент запрашивает вопросы, 1 будет означать, что клиент посылает тестовые ответы и ожидает в качестве ответа от сервера результаты.
Вот прмерный сервер:
Добавлено через 10 минут Ну а клиент будет инициировать соединение и слать первым байтом 0 или 1, если 1 то за ней еще и ответы пользователя. Вот примерная процедура отправки ответов пользователя:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 8
|
|
| 18.05.2010, 14:11 [ТС] | |
|
Спасибо большое!
Я сделал как вы советовали, отправка вопросов работала, потом я видимо не так изминил, теперь не работает ничего... ![]() Ладно. Сейчас в метро исправлю. Но у меня была проблема. Дело в том, что обработчик кнопки может вызывать только static методы. И когда я из него вызываю SendAnswer() - в котором вызывается out.write он вызывает NullPointer исключение... не подскажете как с этим бороться, или как еще можно вызвать отправку данных по нажатию кнопки? Еще раз спасибо за скорый и полный ответ, честно говоря я не ожидал
0
|
|
|
263 / 19 / 3
Регистрация: 26.05.2006
Сообщений: 150
|
||||||
| 18.05.2010, 14:37 | ||||||
|
Если у вас NPE то ищите его причину, пользуйтесь дебагом, смотрите, почему out вдруг стал null.
А по поводу нажатий, ну надо на кнопку повесить слушатель
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 8
|
||||||||||||||||
| 19.05.2010, 23:20 [ТС] | ||||||||||||||||
|
Да. Конечно. Я через actionPerformed и делал. Вроде разрешилось... он не как не хочет отдавать результаты.
Выглядит это так: Server Отправляет результаты:
А Client получает так
До этого кода в клиенте есть код
Но если остается out.close(); - то он при вызове InputStream in = s.getInputStream(); Выдает исключение java.net.SocketException: Socket is closed at java.net.Socket.getInputStream(Unknown Source) at area.Client.sendEnd(Client.java:410) at area.Client$1$1.actionPerformed(Client.j ava:150) at javax.swing.AbstractButton.fireActionPer formed(Unknown Source) at javax.swing.AbstractButton$Handler.actio nPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActio nPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPresse d(Unknown Source) at javax.swing.plaf.basic.BasicButtonListen er.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unk nown Source) at javax.swing.JComponent.processMouseEvent (Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unk nown Source) at java.awt.Container.dispatchEventImpl(Unk nown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetM ouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMo useEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchE vent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unk nown Source) at java.awt.Window.dispatchEventImpl(Unknow n Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknow n Source) at java.awt.EventDispatchThread.pumpOneEven tForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsF orFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsF orHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents( Unknown Source) at java.awt.EventDispatchThread.pumpEvents( Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Если же нет закрытия PrintWriter out - то он не перестает читать... вобщем делема и жуть. уже день с переменными подходами пытаюсь разрешить эту проблему... Может у Вас есть идеи?
0
|
||||||||||||||||
| 19.05.2010, 23:20 | |
|
Помогаю со студенческими работами здесь
5
Организация сетевого хранилища с возможностью работать с ним из Проводника БД не сетевого приложения Серверная часть сетевого приложения на C++ Построение логики сетевого приложения Нужен совет по организации сетевого приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|