|
angel
|
|
Сокетное соединение с сервером25.11.2007, 14:18. Показов 3932. Ответов 22
Метки нет (Все метки)
В общем идет утренняя планерка, обсуждают что бум дедать в след. неделю....
Все, обговорили, задания распределили, все довольны, все нормально и тут шеф показывает очередное свое творение ( там чего-то графики строит и т.п.), говорит что типа все круто работает, все клиентам нравится, но вот есть мол один косяк - IIS падает. Ну я спрашиваю а в чем типа дело. Давай смотреть - IIS-у не хватает памяти. Давай дальше смотреть, а он, млять из своего апплета, каждые 10 секунд, тянет с сервера XML по 150-200 кило. Я у него спрашиваю так осторожно, типа кто это писал. Он ГОРДО, типа он писал. Я говорю что это не есть оптимальный вариант, что мол у тебя же данные на сервере обновляются не каждые 10 секунд. И потом говорю ( МЛЯТЬ, ЛУЧШЕ БЫ Я МОЛЧАЛ !!!! ), что типа модные пацаны пишут сокетное соединение с сервером и апплет получает сигнал на обновление только тгда когда это действительно необходимо.... Короче... 2-3 минутное молчание в комнате. Потом, все говорят - КРУТО!!!! А потом, шеф смотрит на меня и говорит, ну вот давай и займись этим - мол времени у тебя 7 дней, в след. понедельник покажи мне, и процитировал млин, 'как модные пацаны в Росии делают это' ( вот знает же гад что я в Яве - НУЛЬ БЕЗ ПАЛОЧКИ !!!! ) Я ему - что типа я только теорию немного знаю и в институте несколько апплетов написал на лабораторных по информатике и все.... А он мне ссылку дает http://java.sun.com Вот... В связи с этим у меня к вам, господа вопросы: 1. Возможно мне ЭТО за неделю освоить ? Или лучше подойти и сказать что это слишком сложная задача ? 2. Кто может помочь примерами / ссылками т.е. насколько я понимаю, это должно быть два приложения: апплет и сервер. И сервер по какому-т определенному событию посылает апплету XML файл как текстовую строчку и все. Или я не прав ? Заранее спасибо |
|
| 25.11.2007, 14:18 | |
|
Ответы с готовыми решениями:
22
Постоянное сокетное соединение Сокетное соединение между N компьютерами Каким образом через сокетное соединение передать файлы или всю директорию? |
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 25.11.2007, 14:33 | |
|
Такого не делал, поэтому сложно или нет, немогу сказать, но однозначно так часто получать данные из сервера не стоит, потому что насколько я понял обновляются они не часто. Может быть стоит при обновлении БД (как это делается?) формировать этот XML и хранить в виде файла, к которому и обращаться из апплета...
0
|
|
|
angel
|
|
| 25.11.2007, 14:36 | |
|
То что ты предложил, это один из вариантов.
Обхода решение сокетов, т.е. мы может апплетом проверять наличие определенного файла, который будет являться 'флагом', сигнализирующим о необходимости обновлять инфу... Но, блин, я заикнулся про сокеты. и теперь жалею об этом..... |
|
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 25.11.2007, 14:41 | |
|
Да нет, я имел ввиду полностью сливать необходимые данные в файл и считывать его из апплета, не терроризируя БД...
0
|
|
|
angel
|
|
| 25.11.2007, 14:49 | |
|
так данные постоянно новые поступают...
Это что-то типа графического представления производственного процесса в режиме реального времени |
|
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 25.11.2007, 14:59 | |
|
Даже если они поступают постоянно, то имеет смысл проанализировать - как часто обновляются (неужели раз в 10 сек?) и как сложно их получить (м.б. используются громоздкие селекты с джойнами и группировками?) или вообще - почему падает ваш сервер...
0
|
|
|
angel
|
|
| 25.11.2007, 15:26 | |
|
угу, данные сыпются со станка с ЧПУ, который передаёт параметры деталюшки, которую он сделал.
А апплет всё это хозяйство преобразует в диаграммы, вот поэтому и рефреш такой дикий. Но пробрема в чем - что один апплет отображает инфу для кучи станков, причем один станок может за минуту сделать 100 деталей, а дургой сделает за час одну только. Вот и получается что для разных чартов надо тянуть инфу с разной переодичностью... А шас они тупо тянуть для всего всё сразу.... |
|
|
mishgun
|
|
| 25.11.2007, 18:24 | |
|
>>Модные пацаны делают сокетное соединение апплета с сервером.
Так вот могу сказать что вообще не рекомендуется в целях безопасности соединять апплет напрямую с сервером. Решение задачи вижу в создании связки-туннеля апплет->сервлет(для которого нужен вебсервер хотя бы Tomcat)которая будет считывать данные их XML сервлетом и потом посылать апплету. |
|
|
1 / 1 / 1
Регистрация: 18.08.2007
Сообщений: 289
|
|
| 25.11.2007, 20:37 | |
|
to angel.
Срочно купи книжку 'XML и Java 2. Библиотека программиста (с CD-ROM)', авторы Даконта, Саганич. (аннотация: http://www.books.ru/shop/books/10868).
0
|
|
|
angel
|
|
| 25.11.2007, 23:50 | |
|
Да капец, купи книгу срочно...
Во первых я в Берлине, во вторых сроку мне дали неделю, книга хоть как не успеет дойти и осмыслиться .... Нужен хорошо документированный пример работы подобной штуки. Спасайте в общем.... |
|
|
1 / 1 / 1
Регистрация: 18.08.2007
Сообщений: 289
|
|
| 26.11.2007, 01:33 | |
|
Делай так:
1) Java-приложение, выполняющееся на сервере. Оно лезет в базу данных и достаёт данные. Затем формирует из них пакет (можно в одну строку с разделителями; можно просто записывать в выходной поток по порядку все значения, которые потом в том же порядке прочитает клиентский апплет; можно сериализацию использовать, что легче). Открывает ServerSocket и ждёт, пока к нему кто-нибудь обратится. При обращении -- посылает пакет данных. Конечно, для актуальности данных нужно использовать нити (Thread): формировать пакеты данных в реальном времени, а отсылать по мере запросов. 2) Java-аплет, выполняющийся в броузере. Он соединяется с приложением на сервере через сокет (только надо чтобы и апплет бал загружен с той же машины, где крутится приложение). Читает данные от приложения. После разборки строит по ним график. В сети много есть много on-line книг по сокетам в Java. Поищи.
0
|
|
|
mishgun
|
|
| 26.11.2007, 03:26 | |
|
а всё-таки почему отказываетесь от идеи сервлета? Или теперь сокет и только сокет? Сервлет ведь и был создан специально для работе на сервере и выводе данных на фронт енд(хтмл,апплет и тд).
|
|
|
1 / 1 / 1
Регистрация: 18.08.2007
Сообщений: 289
|
|
| 26.11.2007, 07:09 | |
|
1. Для Вас это сложно за 1 неделю;
2. Сервлеты требуют инфраструктуры и настроек на стороне сервера; 3. Попробуйте объяснить шефу о невозможности за такой срок выполнить проект.
0
|
|
|
Genja
|
|
| 26.11.2007, 10:38 | |
|
Если это делать на ява то сервер всеравно упадет надо делать обновления не через 10 сек вообще чесно говоря ISS для этого не сильно то подходит , а вот совсем другое решение подхода выполнить все это на Borland C++ or Delphi там все намного проще и все это есть в демках и сервер никогда не упадет даже исс и быстро работает и памяти очень мало самое главное кад машинный. Если бы вы были под Unix то тогда понятно да и то есть Kulix пробовал сам очень хорошо работает подключается к любой базе через АДО.
|
|
|
Genja
|
|
| 26.11.2007, 10:46 | |
|
Да забыл реально показзать при этом результаты за два дня , не все что можно то хорошо и правильно. Делая я приблизительно тоже самое только это были просто XML статические не изменялись так часто но спомощью JavaScript(без графиков) крутитса на компе пользователя долго но зато уверенно, но для этого нужно делать XML file на сервере и большим интервалом обновления. А с Ява только Аплет-Сервлет. Иначе никак. АПросто аплет еще может быть запустится локально, а по удаленной сети то вообще нет смысла.
|
|
|
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366
|
|
| 26.11.2007, 15:29 | |
|
Я может чего то не понял. Ну ладно там 100-200 кб. качать глупо. Ну а почему нельзя просто соединится с сервером. Посмотреть параметры файла и если они поменялись то его забрать а иначе выйти. А уж сервер сам пусть файл меняет когда ему это надо. В некоторых СУБД например в DB/2 можно встроенные процедуры на Java писать которые будут делать отчёты и тригерится по каким то признакам например AFTER INSERT. Я когда делал сервлет у меня все запросы в течении дня вообще кешировались и при получении повторного запроса с одними параметрами я повторно отсылал старый ответ что бы сервер не грузился.
0
|
|
|
mishgun
|
||||||
| 27.11.2007, 05:01 | ||||||
|
Автору
Вот тебе пример работы связки апплет-сервлет через сериализованный Объект если что не понятно будет спрашивай Апплет
|
||||||
|
mishgun
|
|
| 27.11.2007, 05:10 | |
|
Для этого нужен вебсервер попробуй убедить босса что ты имел ввиду сервлеты а не сокеты.И что связывание апплета с сервлетом может быть использовано хаком для доступа на сервер(главная причина почему существует куча запретов аплету на доступ к серверу
|
|
|
mishgun
|
|
| 27.11.2007, 16:35 | |
|
я извиняюсь я имел ввиду соединение апплета с сервером напрямую.Апплет-сервлет как раз безопасная связка
|
|
|
angel
|
|
| 27.11.2007, 23:48 | |
|
Уффффффффф
вроде сделал, криво, пока протопит, но принципиально работает :-). Сервлеты не катят, т.к. из за одного пусть и важного для клиента апплтета, нитко не будет переписывать пол-системы :-). Кто теперь может проконсультировать по такой проблеме: Дано: Сервер передает файл апплету. Надо - во избежание пеергрузки сети, подробить исходный файл сервером( может и не надо, я слышал, что апплет сам умеет тянуть по частям - правда или нет и пример или ссылку если можно) И есстественно собрать потом файл апплетом из тих самых кусков. Ваши предложения ???? |
|
| 27.11.2007, 23:48 | |
|
Помогаю со студенческими работами здесь
20
Не устанавливается соединение с сервером Как закрыть соединение с сервером? Соединение с SQL сервером используя аутентификацию Windows, а не SQL-сервера Соединение с сервером Соединение с сервером Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|