# einfacher Transfer mit Applets



## !aN. (1. Nov 2007)

Hallo,

ich bin relativ neu in der JAVA Programmierung.

Ich möchte ein Applet dazu bringen, bei einer bestimmten Aktion ein println an meinen Server zu senden.

Als Application geht es (wenn ich public static void main ausführe), der Server erhält die Zeile.

Aber als Applet müsste ich ja die public static void main aufrufen, nur wie geht das?

Was hat es mit IOEXception auf sich? 

Hier mein Server und mein Client:

Client:


```
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class app1
 {            
    public static void main(String[] args) throws IOException, UnknownHostException 
    {   
    Socket anschluss = new Socket("192.168.2.130",6000);
    PrintWriter ausgabe = new PrintWriter(anschluss.getOutputStream(), true);
    ausgabe.println("Hi Jan !");
    System.out.println("Test");    
    }   
}
```

Server:


```
import java.net.*;
import java.io.*;

public class class1
{
   
    public static void main(String[] args) throws IOException 
    {    
        ServerSocket anschluss = new ServerSocket(6000);        
        while (true)        
        {
        Socket lauschen = anschluss.accept();
        InputStreamReader portLeser = new InputStreamReader(lauschen.getInputStream());        
        BufferedReader eingabe = new BufferedReader(portLeser);
        String s = eingabe.readLine();
        System.out.println("-- " + s + " --");            
        }                
    }
}
```

Das geht soweit. Nur wie geht das, wenn der Client ein Applet sein soll?

Vielen Dank!

Jan


----------



## !aN. (3. Nov 2007)

Kann mir keiner helfen?   

Danke!


----------



## Guest (3. Nov 2007)

!aN. hat gesagt.:
			
		

> Aber als Applet müsste ich ja die public static void main aufrufen, nur wie geht das?


Ein Applet hat keine main-Methode. 
Wie man Applets schreibt, kannst du hier nachlesen: http://www.galileocomputing.de/open...19_001.htm#mj3bcc6cda9a703fa621f579cd09ff9828



			
				!aN. hat gesagt.:
			
		

> Was hat es mit IOException auf sich?


IO = Input/Output. Es ist also ein Ein-/Ausgabefehler. Beim Verbinden zum Server kann es zu verschiedenen Fehlern 
kommen. Diese werden als IOException geworfen.


----------



## !aN. (3. Nov 2007)

Hallo, 
danke für die Antwort!



			
				Anonymous hat gesagt.:
			
		

> !aN. hat gesagt.:
> 
> 
> 
> ...



Ok, danke.


----------



## Guest (3. Nov 2007)

Lese doch auf der verlinkten Seite, wie ein Applet funktioniert. 
z.B. hier http://www.galileocomputing.de/open...19_001.htm#mj2fe359b144b2c88d1e2ff7fd6fd46e6f 
wird beschrieben, wie das Ding aktiviert/deaktiviert wird.
Jetzt brauchst du nur eine passende Stelle zu finden, wo du deine Verbindung zum Server aufbauen kannst.
Von mir aus, kannst du es in die init()-Methode packen.
	
	
	
	





```
public class ClientApplet extends java.applet.Applet
{
   private static final long serialVersionUID = 1L;
   
   /**
    * Initialisierung des Applets.
    */
   @Override
   public void init()
   {
      super.init();
      // Hier kannst du irgendwas ausführen
   }
}
```
Wenn es nicht läuft, liegt es daran, dass Applets strengeren Regeln unterworfen werden. Ein Applet darf nicht
zu einem x-beliebigen Server verbinden, wenn man es nicht extra zulässt. Damit dies wiederum geht, ist eine 
signierung des Applets notwendig. Du findest hier im Forum genug zum Thema "Applet signieren".


----------

