AJAX (Asynchronous JavaScripting and XML) Forum
   Forum über „Asynchronous JavaScripting and XML“ und Web 2.0    AJAX Forum AJAX Blog AJAX Wiki AJAX Bücher

Zurück   AJAX (Asynchronous JavaScripting and XML) Forum > Für Interessierte > Allgemein


Digitalkamera
Antwort
 
LinkBack Themen-Optionen
Alt 07.01.2008, 11:17   #1 (permalink)
Neuer Benutzer
 
Registriert seit: 06.02.2007
Beiträge: 14
Standard Anfänger braucht Rat

hallo,
ich habe mit ajax bis jetzt noch nichts am hut gehabt, habe mir schon einiges an theorie angelesen, jedoch hat es noch nicht fuer die praxis gereicht.

ich bastel im moment an einem monitoring programm(j2ee) wo ich verschiedene maschinenstände darstelle.
diese zustände wechseln natürlich in unregelmäßigen zyklen.
bis jetzt hatte ich einfach ein seitenrefresh eingebaut was aber sehr unschön ist.

ich habe icons die ich bei eintreffe einer statusmeldung gerne ändern möchte.
ist soetwas schwierig ?
was brauche ich dafuer alles ?


danke euch

EDIT:

vllt um es noch zu detaillieren. so sieht ein teil meines codes bis jetzt aus..

<%
if(Statusdaten.get(i).m_online.equals("0")){
%>
<img src="includes/gfx/brot.gif" title="offline" alt="offline" />

<%out.print("Offline ");}
if(Statusdaten.get(i).m_online.equals("2")){

%> <img src="includes/gfx/bgruen.gif" title="online" alt="online" />
<%out.print("Online ");

}

und so wird bei jedem refresh neu gesetzt.

kann man das mit ajax lösen ohne einen stetigen kompletten seitenrefresh zu erzeugen ??

danke

EDIT2:

also ich würde gerne wissen ob es generell möglich ist.

die maschinenzutände sind in einer datenbank gespeichert. zu jedem zustand gibt es ein bild.
wie kann das aktuelle bild autoamtisch geladen werden ohne das die ganze page neu geladen werden muss ?
im moment fragt meine jsp seite den zustand bei jedem neuladen ab und baut so dann die grafiken zusammen.


ich brauche irgednwie einen anfang wie ich am besten loslegen kann.

danke euch !!

Geändert von vodn7v (07.01.2008 um 14:41 Uhr)
vodn7v ist offline   Mit Zitat antworten
Alt 08.01.2008, 07:39   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 07.05.2007
Ort: Bayern
Beiträge: 641
Standard

Natürlich kannst du das mit Ajax und auch mit J2EE lösen. Ich würde mal nacn "J2EE Ajax" googlen. Hab vor einiger Zeit schonmal etwas mit Ajax in der Java-Welt umgesetzt und mir dazu halt extra ein Servlet und einen Dispatcher gebastelt der auf die Ajax-Request speziell reagiert. Leider habe ich die Sourcen nicht lokal.
Matty ist offline   Mit Zitat antworten
Alt 08.01.2008, 09:46   #3 (permalink)
Neuer Benutzer
 
Registriert seit: 06.02.2007
Beiträge: 14
Standard

ich habe auch schhon einige ajax vs j2ee bsp gemacht. aber mir ist die logik noch nicht so ganz klar wie ich das problem lösen kann.

ich mein woher weiss ajax wann es das bild aktualisieren soll ? sagen wir eine message kommt über das netzwerk und wird in der db gespeichert. woher weiss ajax das sich in der db ein wert geändert hat ? oder muss man das irgednwie zyklisch aktualisieren ?

danke
vodn7v ist offline   Mit Zitat antworten
Alt 08.01.2008, 10:04   #4 (permalink)
Erfahrener Benutzer
 
Registriert seit: 07.05.2007
Ort: Bayern
Beiträge: 641
Standard

Es gibt zwei Möglichkeiten .. entweder zyklisch wie du sagt (also über ein TimeOut in JavaScript alle x Sekunden ) oder du hast eine permantente Verbindung zum Server die "antwortet" (einen Response schickt) wenn in der DB eine Änderung stattgefunden hat. Dazu würde ich mir mal das wiki hier anschauen zu den Themen COMET und "Long Polling"
Matty ist offline   Mit Zitat antworten
Alt 08.01.2008, 14:39   #5 (permalink)
Neuer Benutzer
 
Registriert seit: 06.02.2007
Beiträge: 14
Standard

ich gehe mal davon aus das die zyklische lösung trafficlastiger ist und die andere eher eleganter aber auch schwieriger zu realisieren.


oder gibt es noch andere vor und nachteile der beiden möglichkeiten ?

ich müsste auf einer seite durschnittlich 20 icons aktualisieren.
ist das kein problem wenn ich es dann zyklisch mache ? wenn 20symbole sich alle 2 sekunden aktualisieren. gibt das keine last?


danke

EDIT:
alles was ich bis jetzt zu Comet gefunden habe besagt das es nur im ie ODER im FF läuft.
stimmt das so ? wenn ja würde diese option wegfallen.

zu long polling. im wiki steht: " Weniger geeignet hingegen ist es zum Beispiel für einen stärker frequentierten Chat, da dort zu viele Verbindungen zu schnell aufgebaut und getrennt würden. "

also ich habe eine art monitoring programm in dem verschiedenste icons in unregelmäßigen abständen aktualisiert werden müssen.
die anzahl der icons ist im durschnitt 20 sollte aber 50 nicht überschreiten.
wären 50sich unterscheidende icons dann gleichbedeutend mit 50 verbindungen ? wären das schon zu viel ? da anzahl der max verbindungen ist ja nicht genau beschrieben .

danke

Geändert von vodn7v (08.01.2008 um 14:52 Uhr)
vodn7v ist offline   Mit Zitat antworten
Alt 08.01.2008, 15:06   #6 (permalink)
Erfahrener Benutzer
 
Registriert seit: 13.04.2007
Beiträge: 296
Standard

Du hast recht, die beiden Beispiele mit Endlosschleifen für COMET laufen entweder nur auf dem Firefox und ähnlichen oder auf dem IE (ActiveXObject htmlfile). Aber was hindert Dich daran, die beiden Verfahren geeignet zu kombinieren?

Ich arbeite bereits an einer Umsetzung dieser Kombination für's Wiki, das kann aber leider noch ein paar Tage dauern.
devnull69 ist offline   Mit Zitat antworten
Alt 08.01.2008, 16:05   #7 (permalink)
Erfahrener Benutzer
 
Registriert seit: 07.05.2007
Ort: Bayern
Beiträge: 641
Standard

Du könntest auch einfach aLLE bilder alle Zwei Sekunden aktualisieren... also dann hättest du alle zwei Sekunden "nur" einen Request. Ob das zu viel Traffic ist musst du entscheiden
Matty ist offline   Mit Zitat antworten
Alt 08.01.2008, 16:34   #8 (permalink)
Moderator
 
Benutzerbild von narkaT
 
Registriert seit: 26.06.2007
Beiträge: 2.121
Standard

Zitat:
Zitat von vodn7v Beitrag anzeigen
wären 50sich unterscheidende icons dann gleichbedeutend mit 50 verbindungen ? wären das schon zu viel ?
wenn man für jedes icon einen request startet wäre es gleichbedeutend.
allerdings kann man ja als ökonomischer programmierer alle änderungen
in einem requests zusammenfassen

da sich die daten bei dir nicht allzuschnell ändern, bzw (+/-)10s differenz nicht
so tragisch sind (?), würde ich long-polling einsetzen.

das prinzip wäre das gleiche, wie das, was bei gmail eingesetzt wird.

es gibt noch einige andere methoden die in verschiedenen browsern laufen,
was du dir dazu mal durchlesen könntest wäre das hier:
Comet Daily Blog Archive The Future of Comet: Part 1, Comet Today

den link hatte think vor einiger zeit im comet-thread gepostet, ist sehr interessant

MfG
Jan
__________________
narkaT ist offline   Mit Zitat antworten
Alt 09.01.2008, 01:47   #9 (permalink)
Moderator
 
Registriert seit: 12.05.2006
Ort: Berlin
Beiträge: 1.591
Frankie eine Nachricht über ICQ schicken Frankie eine Nachricht über Skype™ schicken
Standard

Ich muß doch mal fragen: wieviele User wird denn diese Seite gleichzeitig haben? Bei Maschinenüberwachung werden das ja wahrscheinlich eher weniger sein... dann kann man sich Comet auch sparen und pollen, denke ich. Übertragen werden dann eh nur die Zustände mit JSON, denn Rest macht man ja clientseitig.
Ich gestehe daß ich mich bisher um Comet gedrückt habe, aber der einfache Grund ist daß ich es noch nie wirklich gebraucht habe. Comet ist vor allem dann wichtig, wenn viele Nutzer einen Zustand sehr zeitnah wissen müssen. Fällt eines davon weg, vor allem das zweite, dann kann man es wahrscheinlich auch lassen und den einfachen Weg gehen.

Grüße,
Frankie
__________________
Jo. Signatur.

Geändert von Frankie (09.01.2008 um 02:00 Uhr)
Frankie ist offline   Mit Zitat antworten
Alt 09.01.2008, 15:30   #10 (permalink)
Neuer Benutzer
 
Registriert seit: 06.02.2007
Beiträge: 14
Standard

alles klar.. ich danke euch !!
also ich gehe mal davon aus das nicht mehr als 20-30 benutzer gleichzeitig darauf zugreifen. was auch schon viel ist.
und zeitnah.. also mit einer verzögerung von 5 sekunden wäre ich einverstanden.
also werde ich denke ich den "einfachen", für mich jedoch neuen weg gehen.du meintest doch mit einfachem weg den zyklischen refresh des icons richtig ?
kennt jemand anwendungsbeispiele für mein vorhaben ? oder tutorials worin die verwendung von ajax auch mit j2ee beschrieben wird ? das meiste finde ich immer nur im zusammenhang mit php etc..

ich danke euch !!!
vodn7v ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Polling - Firefox braucht immer länger P1112 JavaScript 7 16.11.2007 08:29
[AJAX/PHP] AJAX Anfänger braucht Hilfe bei Shoutbox carlo Serverseitige Skriptsprachen 2 01.11.2007 11:32
[AJAX] Für Anfänger Pic22 Serverseitige Skriptsprachen 7 20.09.2007 21:17
Javascript Für Anfänger... svenner JavaScript 1 01.03.2007 16:34
DORF...ähm...DOM Trottel braucht hilfe... tecM0 Sonstige Probleme 1 27.06.2006 18:56


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.