Chris_Bayern: Applet mit Script steuern

Hallo zusammen,

ich hoffe ich bin hier richtig.
Ich suche ein applet, welches mir eine Verbindung zu einem Host auf einem bestimmten Port öffnet.
Hintergrundsituation:
Ich habe einen Xport (Ethernet<=>rs232-koppler) der auf Port 80 via http das Applet und auch ein paar html-Seiten zur Verfügung stellt.
Leider hat weder der Xport noch der, via rs232 angeschlossene Prozessor genügend Rechenleistung um http-Anfragen beantworten zu können, geschweige denn dynamisch html-Seiten generieren zu können.

Meine Idee ist nun, auf dem Port 80 des Xport eine HTML-Seite mit Java-Script bereit zu stellen, die Ihrerseits zur Kommunikation mit meinem Prozessor lediglich eine Datenverbindung also einen Socket zum Port 10001 öffnet. Hier werden lediglich Steuerbefehler direkt zur rs232-Schnittstelle, also zu meinem Prozessor übertragen.

Ich brauche also ein Applet, welches von einem Script in der HTML-Seite aufgerufen werden kann. Bei dem Aufruf möchte ich die zu sendenden Steuerzeichen übergeben, die dann an den Port 10001 ohne jeden HHTP-Header geschickt werden. Ein Timeout beendet diese Verbindung, wenn nicht innerhalt von 1 oder 2 Sec. eine Antwort kommt. Die Antwort muß natürlich dann auch wieder an mein Script in der HTML-Seite zurück gegeben werden können um Sie dort auszuwerten und die Webseeite entsprechend zu füllen.

Ich habe leider keinen blassen Schimmer von JAVA-Programmierung und komme hier deshalb nicht weiter. Gibt es hier jemanden der mir helfen kann?
Das Applet soll so lange einen ASCCII-Zeichen vom Port 10001 lesen, bis ein CR (ASCII 13) empfangen wurde und dann die Verbindung sofort beenden. Wenn nix kommt, dann nach 1 od. 2 Sec. mit entsprechender Rückgabe an das aufrufende Script beenden.
Mit dem darstellen der empfangenen Daten auf der Webseite komme ich klar, lediglich das Applet und dessen Aufruf vom JavaScript bereitet mir Kopfzerbrechen.

Bitte um Info, wenn ich mich unklar ausgedrückt haben sollte.

Bitte um Hilfe!

Danke schon mal im Voraus!

Gruß Christian

P.S. Wenn das ganze dann auch noch auf einem WindowsMobile-Browser funktioniert, dann wäre das obergenial, ist aber keine Voraussetzung

  1. Hallo nochmal,

    ich habe schon mal ein wenig mit Beispielen die ich im Internet gefunden habe herumexperimentiert, und habe mit folgendem Code eine Kommunikation zur RS232 des Xport aufbauen können.
    Frage ist, wie bekomme ich das von mein Javascript eingebunden?

      
    import java.net.*;  
    import java.io.*;  
    import java.applet.Applet;  
      
    public class Client extends Applet {  
      int inbyte;  
      static String outstring = new String("");  
      
       Client() throws IOException {  
         Socket server = new Socket ("192.168.0.30", 10001);  
      
        InputStream input = server.getInputStream();  
        OutputStream output = server.getOutputStream();  
        output.write( 105 ); // kleines i  
        output.write( 13 );  //CR  
        output.flush();  
        server.setSoTimeout(2000);  
        do {  
          inbyte = input.read();  
          outstring  += (char)inbyte;  
        } while (inbyte != 13 );  
        System.out.println( outstring );  
        server.close();  
        input.close();  
        output.close();  
      
       }  
      
       public static void main (String[] args)  
       {  
         try {  
           Client client = new Client();  
         } catch (IOException e) {  
           System.out.print(e);  
         }  
      }  
    }  
    
    

    Wenn ich z.B. einen Button drücke soll das Applet eine, zu übergebende Variable statt des "i" senden.
    Außerdem ist mir völlig schleierhaft, wie ich die Rückgabe des Applets in meinem Javascript weiter verarbeiten kann.

    Bitte dringend um Hilfe!

    Danke chon mal

    1. ich habe schon mal ein wenig mit Beispielen die ich im Internet gefunden habe herumexperimentiert, und habe mit folgendem Code eine Kommunikation zur RS232 des Xport aufbauen können.
      Frage ist, wie bekomme ich das von mein Javascript eingebunden?

      import java.net.;
      import java.io.
      ;
      import java.applet.Applet;

      public class Client extends Applet {
        int inbyte;
        static String outstring = new String("");

      Client() throws IOException {
           Socket server = new Socket ("192.168.0.30", 10001);

      InputStream input = server.getInputStream();
          OutputStream output = server.getOutputStream();
          output.write( 105 ); // kleines i
          output.write( 13 );  //CR
          output.flush();
          server.setSoTimeout(2000);
          do {
            inbyte = input.read();
            outstring  += (char)inbyte;
          } while (inbyte != 13 );
          System.out.println( outstring );
          server.close();
          input.close();
          output.close();

      }

      public static void main (String[] args)
         {
           try {
             Client client = new Client();
           } catch (IOException e) {
             System.out.print(e);
           }
        }
      }

      
      >   
      > Wenn ich z.B. einen Button drücke soll das Applet eine, zu übergebende Variable statt des "i" senden.  
      > Außerdem ist mir völlig schleierhaft, wie ich die Rückgabe des Applets in meinem Javascript weiter verarbeiten kann.  
      >   
      > Bitte dringend um Hilfe!  
      >   
      > Danke chon mal  
        
      Ein Grund warum du vielleicht keine Antwort bekommst, ist der falsche Themenbereich. Ich hab's mal geändert und deshalb die Frage nochmal als Fullquote.  
        
      Struppi.
      
      1. Hi,

        Ein Grund warum du vielleicht keine Antwort bekommst, ist der falsche Themenbereich. Ich hab's mal geändert

        Na ja, haett' ja klappen koennen :-)

        und deshalb die Frage nochmal als Fullquote.

        Darauf verzichte ich mal - "hochklicken" kann sich der interessierte Leser ja selber.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“