Aiun Geschrieben 6. März 2007 Geschrieben 6. März 2007 hi, ich starte eine Anwendung, z.b. einen Datenimport o.ä. der eine weile laufen kann. Nun will ich die Möglichkeit, den fortschritt dieses Imports oder Statistiken abrufen zu können. Aber wie übermittle ich eine Anfrage an eine laufende Anwendung ? innerhalb der Anwendung hätte ich mir das wie einen Stack vorgestellt, in dem sich die von außen kommenden Anfragen stapeln und immer wieder mal abgefragt werden, dann gehts weiter mit dem normale Verarbeitungsprozess. Ideen ? Zitieren
bigredeyes Geschrieben 6. März 2007 Geschrieben 6. März 2007 bau halt ein kleinen server ein. client liest dann von konsole(z.b. "get") und schickts an den server. antwort ist dann der status oder die anzahl der offenen aufgaben. "socket java" bei einer suchmaschine deiner wahl sollte helfen. Sockets programming in Java: A tutorial - Java World bigredeyes Zitieren
perdian Geschrieben 6. März 2007 Geschrieben 6. März 2007 Aber wie übermittle ich eine Anfrage an eine laufende Anwendung ?Da gibt es - je nach Einsatzzweck - verschiedene Lösungsmöglichkeiten für. Die bereits von bigredeyes genannte Möglichkeit vom Programm aus einen Socket zu öffnen ist dabei sicherlich die schönste und sauberste. Unter bestimmten Bedingungen kann es jedoch sein, dass man keinen dedizierten Port für die Applikation öffnen kann/darf/will. Hier bieten sich dann andere (teilweise dreckigere) Lösungen an. Was mir da spontan einfallen würde wäre: Applikation A schreibt während der Abarbeitung in eine Date, Applikation B liest in periodischen Abständen diese Datei aus und wertet den Inhalt aus. Eine Abwandlung des ganzen wäre die Daten nicht in eine Datei sondern eine Datenbank zu schreiben. Und wenn man richtig mit Kanonen auf Spatzen schießen möchte: JMX. Zitieren
Aiun Geschrieben 6. März 2007 Autor Geschrieben 6. März 2007 danke, die Server-variante hatte ich mir auch schon gedacht. Da wäre es dann auch möglich von einem anderen Rechner aus (je nach Port / Firewall unsw) den Status abzufragen. Dachte nur das wäre das Kanonen / spatzen prinzip ^^ ist in dem Link oben oder einem anderen Tutorial beschrieben, welche Ports normalerweise für eine rein Lokale Verbindung genutzt werden ? also Client - ssh > server ssh: getstatus.exe ^^ getstatus.exe - socket_connect > process-server Zitieren
bigredeyes Geschrieben 6. März 2007 Geschrieben 6. März 2007 ... ssh: getstatus.exe ... die .exe gibt schläge.... ssh: java Client -s 192.168.0.132 -p 5432 wobei -p = port. -s = server ip/name port sollte oberhalb 1024 liegen. wenn du per ssh zuerst auf den server connectest, dann ist die firewall ja egal, da du dann eh "lokal" arbeitest bigredeyes Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.