Applets: Kommunikation mit einem Server

PositivDenker

Mitglied
Kennt jemand einen Applet (java-Code), der UTF8-Textdatei von eigenen Server lesen kann?

Ich danke im Voraus,

Positiv Denker
 
Zuletzt bearbeitet von einem Moderator:
Definiere "eigenen". Applets laufen auf dem Client. Per RMI kannst du mit jeder beliebigen Java Serveranwendung reden. Grundsätzlich findet sich eigentlich fast immer eine Kommunikationsmöglichkeit, auch für andere Sprachen. Das Auslesen der Textdateien muss dann halt die Serverseitge Komponente übernehmen.

Gruß
Ollie

PS: Das nächste mal bitte einen etwas sprechenderen Threadtitel. ;) Wenn jeder hier solche Threadtitel wählt, wird es etwas unübersichtlich B)
 
Applet läuft in Browser und hat keinen Einfluss auf Server.
Dann bleibt mir eine Möglichkeit mit PHP benötige Daten als Parameter übergeben. Und wenn ich einen Text (A4-lang) übergeben will, wie kann das funktionieren ?
Und eine weitere Frage: wie kann ich dieser Text (evtl. abgeänderter) zurück an PHP-Skript senden ?
Ich danke im Voraus.

Mit freundlichen Grüßen
PositivDenker
 
mit plain old XML über HTTP - :confused:
Wie funktioniert es überhaupt, wie bekommt Applet ein "A4"-Text?
Und wie genau kann Applet ein "A4"-String per POST an PHP-serverseitiges Skript senden ?
Ollie, danke für Ihre Mühe! Ich brauche möglicherweise ein laufendes Beispiel mit Quellcode.
 
Guten Abend!
Mein Applet sendet erfolgreich eine POST-Variable an PHP-Skript. Gott sei Dank.
Diese Variable wird per PHP-Skript in Session geschrieben. Deswegen bin ich sicher, dass es richtig funktioniert.
Mein folgendes Problemchen: Mein Applet aktualisiert sich nicht, obwohl $language geändert ist.

index.php
PHP:
<?php
session_start();

	if( isset ($_SESSION['sess_language']) ) {
	    
	    $_SESSION['sess_language']=$_POST['postlanguage'];
		$language=$_SESSION['sess_language'];
		echo $language;


	} else {
	   

	    	session_register('sess_language');
		$_SESSION['sess_language'] = "de";
		$language=$_SESSION['sess_language'];

		}

?>
<html>
	<head>
		<title>Applet-PHP-Kommunizierung</title>
	</head>
<body>
<APPLET CODE = 'MyApplet.class' WIDTH = 222 HEIGHT = 111 >
<?php echo "<param name='language' value='".$language."'"; ?>
</APPLET>
</body>
</html>


MyApplet.java
Code:
...

static String data 			= "postlanguage=";
static HttpURLConnection connection 	=  null;
static URL url;
private static String startphp		= "http:\\\\localhost\\order\\index.php";

...

public void actionPerformed(ActionEvent ae){
	
	WebButton clicked=(WebButton)ae.getSource();

	if(!language.equals(clicked.lang))
	{
		try
      		{ URL url = new URL("http","localhost",80,"/ordner/index.php");
	         connection = (HttpURLConnection) url.openConnection();
        	 connection.setRequestMethod("POST");
        	 connection.setDoOutput(true);
        	 PrintStream out = new PrintStream(connection.getOutputStream());
        	 out.write(new String(data+clicked.lang).getBytes());
        	 out.flush();
         	 out.close();
     	         BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        	 
		 String zeile;
		 while ((zeile = input.readLine()) != null)System.out.println(zeile);
         
         	 input.close();
		}

      		catch (MalformedURLException e)e.printStackTrace();
      		catch (IOException e)e.printStackTrace();
      	}
}
...

--------------------------sess_7852bab0829360658f7bebe7b9b7d735-----------
sess_language|s:2:"de";




MfG PositivDenker
 
Eine Kommunikation zwieschen PHP und Applet ist viel zu kompliziert.

Mehre Hunderten Meter vom Code reichen nicht, um die zwei Typen zum friedlichen
Reden zu bringen. :(
Also, die Lösungen sind zu kompliziert und fehleranfällig.Ich denke, jetzt muss ich alle Ideen ins PHP umwandeln. Java taugt nur, wenn sie auf 'Papas' Server(SUN) läuft. Die Miete kostet nicht gerade billig, deswegen ist für mich diese Java-Internet-technology nicht mehr so attraktiv. :)
 
Zuletzt bearbeitet von einem Moderator:
Eine Kommunikation zwieschen PHP und Applet ist viel zu kompliziert.
Definiere "kompliziert". Sprachgrenzen sind IMMER problematisch und fern von trivial. Dennoch bin ich der Meinung, dass jemand mit gewissem Grundverständnis der Protokolle und Sprachen die Aufgabe in endlicher Zeit gelöst bekommt. Desweiteren benötigt "viel zu kompliziert" einen Kontext. Zu kompliziert wofür? Für deine eigentliche Aufgabenstellung? Das kann gut sein. Aber du hast nach grundsätzlichen Methodiken gefragt. Technologieentscheidungen kannst nur du oder dein Auftraggeber treffen.

Mehre Hunderten Meter vom Code reichen nicht, um die zwei Typen zum friedlichen
Reden zu bringen. :(
Das Problem ist scheinbar nicht der Code. Vielmehr hast du scheinbar weder die Eigenheiten von HTTP, noch von Java auf dem Client, noch von PHP verinnerlicht. Du machst im Applet einen HTTP Call an die gleiche URL, die das Applet selbst rendert. Das ist halt völliger Unfug. Es muss serverseitig eine dedizierte Schnittstelle für die Dienste geben, die dein Client benötigt. Der initiale Browsercall ist dabei nur der Start. Die eigentliche KOmmunikation erfolgt daher natürlich nicht über das gleiche PHP Skript.

Desweiteren wertest du den Response des Calls - sagen wir es mal vorsichtig - suboptimal aus. Insgesamt gehört sowas natürlich hinter eine Abstraktionsschicht, die die GUI von den Lowleveleigenheiten der Remotekommunikation trennt. Dahinter kann man dann auch z.B. verstecken ob du per HTPP mit einem Webserver redest, per RMI mit einer anderen Javaanwendung oder oder oder.

Also, die Lösungen sind zu kompliziert und fehleranfällig.Ich denke, jetzt muss ich alle Ideen ins PHP umwandeln.
Noch mal: IMHO besteht dein Problem eher im fehlenden Wissen bzgl. der Konzepte, Patterns, usw. Der Sprache die Schuld geben, ist dann ein wenig komisch.

Java taugt nur, wenn sie auf 'Papas' Server(SUN) läuft. Die Miete kostet nicht gerade billig, deswegen ist für mich diese Java-Internet-technology nicht mehr so attraktiv. :)
Sorry, aber das ist ziemliger Quark. Eigentlich stellst du hier genau meine These zur Schau. Es fehlt dir noch an einigem Einblick in die Technologie, an Verständnis von Anwendungsdesign und Architektur. Was zur Hölle hat das mit der Sprache zu tun.

So, genug gebasht :). Hab das gefühl, du bist ein wenig gefrustet. Aber das hier ist ein Forum, also stell doch einfach Fragen, wenn du nicht weiter weißt. Mein Tipp: es ist ungünstig irgendwas fertiges auf beiden Seiten zu haben und das dann verbinden zu wollen (zumindest wenn man sich noch einarbeitet). Versuch doch mal folgendes:

Auf der serversite ein PHP Skript, dass eine Zufallszahl zurückliefert (nur die Zahl, kein HTML). Ein Minimalsapplet, dass auf einen Buttonklick den Server per HTTP anspricht (in diesem Fall reicht GET), den Rückgabewert ausliest und ihn als Label irgendwo setzt oder die Buttonbeschriftung dementsprechend ändert. Ich denke damit sollte das Konzept klarer werden...

Gruß
Ollie
 

Neue Beiträge

Zurück