Hallo,
Ich habe folgende Aufgabe zu lösen.
n User verbinden sich mit webServer (Apache).
Dann gibt es noch n Geräte die nur eine Verbindung zum gleichen PC auf einem anderen Port öffnen.
Die User sollen Daten von den Geräten sehen, je nachdem was sie auf dem webServer auswählen.
Was habe ich geschafft.
webServer --> klar out of the box geht.
Device --> java Multithread-Server und der frägt aktiv bei den Geräten Daten ab. keep-alive, connection end
Aufbau ähnlich Multithreaded Server in Java
Lösungsgedanke:
Einen User-Proxy zwischen den webserver und dem anmeldenden User schalten. Möchte der User Daten von einem bestimmten Gerät sehen oder setzen, wird der POST auf dem User-Proxy abgefangen, und an den Geräte-Proxy gesendet. Dieser schickt die Daten an das Gerät, empfängt das Ergebnis und leitet es aufbereitet an den User-Proxy weiter.
Im Moment habe ich ein Main Programm,
das zwei Threads aufmacht. Einmal den User-Proxy und einmal den Geräte-Proxy
User- und Geräte-Proxy warten auf Verbindungen
und erzeugen wiederrum Threads für jede eingehende Verbindung.
Jetzt zur eigentlichen Frage:
Wie kann ich kann der User-Proxy-Thread(Socket) den Geräte-Proxy-Thread(Socket) finden und wie können diese zwei dann Daten austauschen. Komme aus der .NET Welt und in Java ist es doch ein wenig anders...
Ich bräuchte wohl sowas wie:
Aus einem User-Proxy-Thread den Aufruf
Randnotiz: MYSQL ist ebenfalls noch dabei.
Vielen Dank
Martin Mörtl
Ich habe folgende Aufgabe zu lösen.
n User verbinden sich mit webServer (Apache).
Dann gibt es noch n Geräte die nur eine Verbindung zum gleichen PC auf einem anderen Port öffnen.
Die User sollen Daten von den Geräten sehen, je nachdem was sie auf dem webServer auswählen.
Was habe ich geschafft.
webServer --> klar out of the box geht.
Device --> java Multithread-Server und der frägt aktiv bei den Geräten Daten ab. keep-alive, connection end
Aufbau ähnlich Multithreaded Server in Java
Lösungsgedanke:
Einen User-Proxy zwischen den webserver und dem anmeldenden User schalten. Möchte der User Daten von einem bestimmten Gerät sehen oder setzen, wird der POST auf dem User-Proxy abgefangen, und an den Geräte-Proxy gesendet. Dieser schickt die Daten an das Gerät, empfängt das Ergebnis und leitet es aufbereitet an den User-Proxy weiter.
Im Moment habe ich ein Main Programm,
das zwei Threads aufmacht. Einmal den User-Proxy und einmal den Geräte-Proxy
User- und Geräte-Proxy warten auf Verbindungen
Java:
clientSocket = this.serverSocket.accept();
Jetzt zur eigentlichen Frage:
Wie kann ich kann der User-Proxy-Thread(Socket) den Geräte-Proxy-Thread(Socket) finden und wie können diese zwei dann Daten austauschen. Komme aus der .NET Welt und in Java ist es doch ein wenig anders...
Ich bräuchte wohl sowas wie:
Aus einem User-Proxy-Thread den Aufruf
Java:
String GeraeteThread[GeraeteThread.IndexOf("SNR")].sendData(x,y);
Randnotiz: MYSQL ist ebenfalls noch dabei.
Vielen Dank
Martin Mörtl
Zuletzt bearbeitet: