aufruf des Applets aus dem Webserver (tomcat) sehr langsam

Status
Nicht offen für weitere Antworten.
Y

youssef

Gast
Hallo zusammen,
wenn ich das Applet zum ersten mal vom webserver aufrufe, dauert es sehr lange (1 bis 3 min) bis ich was auf den bildschirm sehe.

<applet code= "Client.class" archive = "fat_gel.jar" width="1024" height= "768" ></applet>

das jar file ist 900 kb gross.
in das Applet wird jede 200 ms eine verbindug zum einem auf webserver laufenden javaserver aufgebaut und daten geholt und gesendet. in das Applet werden Bilder immer neu gezeichnet mit der aktuellen werte.
meine frage: kann man irgendwo was optimieren ?

Youssef[/code]
 

Sky

Top Contributor
youssef hat gesagt.:
in das Applet wird jede 200 ms eine verbindug zum einem auf webserver laufenden javaserver aufgebaut und daten geholt und gesendet. in das Applet werden Bilder immer neu gezeichnet mit der aktuellen werte.

Machst Du genannte Verbindungen im Konstruktor oder in der init-Methode??


Weitere Frage: Wenn Du ein TestApplet auf dem Server hast, was nichts anderes macht, als Daten in die Konsole auszugeben, dauert es dann auch so lange?
 
Y

youssef

Gast
hallo,
die verbindungen werden in der init methode aufgebaut und innerhalb der init wurd auch eine andere Applet aufgerufen die das Prozessbild zeichnet
hier die init Methode vom Client
Code:
public class Client extends Applet  implements Runnable
  {
   static boolean  flag = false;
   static short    init_flag = 0;
   public void init()
     {
       String  str = null;
      DataIn  DIn = null;
      DataOut DOut = null;
      str = "192.168.0.140";
      str = "192.168.0.140";//addr.getHostAddress();
      if(str !=null)
       {
        for(;;)
          {
           try 
             {
              //Aufbau der Socket Verbindung mit dem Server
              Socket server = new Socket(str, 8888);
              if(flag == false)
                {
                 OutputStream out = server.getOutputStream();
                 DOut = new DataOut(out);
                 DOut.start();
                 Thread.yield();
                 try
                   {
                    Thread.sleep(100);
                   }
                 catch(InterruptedException ie)
                   {ie.printStackTrace();}
                 out.close(); 
                 server.close(); 
                 server = null;
                 DOut = null;
                 flag = true;
                }
              else
                {
                 if(init_flag == 6)
                   try{getAppletContext().showDocument(new URL(getDocumentBase(),"bild_ASC1.html"));}
                   catch(java.net.MalformedURLException e)
                     {e.printStackTrace();}//System.out.println(e.toString());
                 InputStream in = server.getInputStream();
                 DIn  = new DataIn(in);
                 DIn.start();
                 Thread.yield();
                 try
                   {
                    Thread.sleep(200);
                   }
                 catch(InterruptedException ie)
                   {ie.printStackTrace();}
                 in.close(); 
                 server.close();   
                 server = null;
                 DIn = null;
                 if(init_flag >65500)
                    init_flag = 7;
                 init_flag++;
                }
             }
           catch (InterruptedIOException e)
             {e.printStackTrace();}
           catch (IOException e)
             {e.printStackTrace();}
          }
        }
   }

bei eine TestApplet geht es sehr schnell. dh es liegt nicht an den webserver.
bin sehr vezweifelt. woran kann es sonst liegen ?
danke für die Hilfe

Gruss
Youssef
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben