2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
1248
1248
EMPFEHLEN
-
13.02.10 20:50 #1
- Registriert seit
- Jan 2010
- Beiträge
- 5
Hallo hoffe auch das ich hier richtig bin...
Ich habe keine Ahnung wonach ich noch suchen soll ...
habe in Java ein Projekt fertig "Chat" eine app.class die als Applet läuft in einer start.html eingebunden ist und eine Server.jar ... die alle clients "Applet's" verbindet das läuft zu Hause auch alles wunderbar web Server ist localhost mit XAMPP ....
nun wollte ich das ganze online ausprobieren ein Freun hat mir etwas Web Space gegeben habe mit FileZilla alle dateien hoch geladen jetzt das Problem ich weis nicht wie ich meine Jar file dort starte
habe so viel jetzt gelesen ob jsp jnlp ect...
wäre für hinweise sehr dankbar
Lg Kay
-
13.02.10 21:25 #2
Du wirst die Datei (ohne eingeschleußten Shellcode ect.) nicht starten können. Musst dir wohl einen v- oder Rootserver mieten oder "borgen".
Wäre nicht lustig, wenn jeder bei jeden Provider Programme starten könnte wie er lust hat.
-
14.02.10 12:53 #3
- Registriert seit
- Jan 2010
- Beiträge
- 5
Wow danke für deine schnelle Antwort.
und da gebe ich dir auch völlig recht...
wenn es ok ist würde ich gerne meine Frage erweitern ... und zwar haben wir es jetzt auf nem root Server geschafft und läuft .... aber nicht so wie in unserem xampp ...
zur Erläuterung meine "ChatServer.jar" die als Applikation dort gestartet wird verbindet sich auch mit allen evt. gestarteten Applet's nur die Kommunikation via Socket und DataOutPutstream inc. writeUTF funktioniert auf der externen Server Umgebung nicht nur auf unserer xampp Umgebung in einem Anderem forum war das Problem gelöst mit einem anderem Port nur bei uns nicht ...
getestet haben wir mit allen Port Freigabe.
Socket Port verändert.
Aktuellerer jre obwohl nichts außergewöhnliches Implementiert wurde "Chat" für Applet.
Apache Server , Debian
Da dieses Thema so breit gefächert ist und die Quelle des Problems nicht bekannt Server seitens ect... hoffe ich doch sehr das es ok ist das ich mit dem Thema hier weiter mache vielen Dank
Lg Kay
Anhang der Link zu dem anderem Forum der das selbe Problem beschreibt ( hoffe das es ok ist wenn ich hier auf ein anderes bord linke
)
http://www.java-forum.org/netzwerkpr...geschickt.html
-
14.02.10 13:05 #4
Poste mal etwas Quellcode, event. liegt es daran.
Ich hätte es aber eher so gemacht, dass die Applets die Verbindung aufbauen.
-
14.02.10 19:03 #5
- Registriert seit
- Jan 2010
- Beiträge
- 5
Sehr nett von dir Kai dich meinem Problem anzunehmen
frage mich nur wie du darauf kommst das es am Code liegen könnte wenn ich doch schreibe das es im Xampp läuft ...
eigentlich verbinden sich die Applets auch mit dem "Server.jar" dieser nimmt die Streams entgegen und sendet dann an alle evt. vorhandenen Applets es sind 3 klassen Applet , Server, und eine afaik Aggregation zu den Client Objecten diese werden in einer Collection gehalten damit ich über einen Iterator an alle senden kann ich schick mal den Code für's Applet
PS: freu mich sehr über deine hilfe Dankeschön
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
public class App extends JApplet implements Runnable { public static final int PORT = 4711; Socket socket; DataInputStream in; DataOutputStream out; JTextField inputfield; JTextArea outputarea; Thread thread; @Override public void init() { inputfield.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { try { out.writeUTF(inputfield.getText() ); inputfield.setText("" ); } catch (IOException e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, e.toString() ); } } }); } @Override public void start() { try { socket = new Socket(this.getCodeBase().getHost(), PORT); in = new DataInputStream(socket.getInputStream() ); out = new DataOutputStream(socket.getOutputStream() ); } catch (IOException e) { this.showStatus(e.toString()); ausgabe("Verbindung zum Server fehlgeschlagen!"); System.exit(1); } ausgabe("Verbindung zum Server aufgenommen..."); if (thread == null) { thread = new Thread(this); thread.setPriority(Thread.MIN_PRIORITY); thread.start(); } } private void ausgabe(String text) { outputarea.append("*** "+text+" ***\n"); } @Override public void stop() { try { socket.close(); } catch (IOException e) { this.showStatus(e.toString()); } if ((thread !=null) && thread.isAlive()) { thread.interrupt(); thread = null; } } @Override public void run() { String line; try { while(true ) { line = in.readUTF(); if(line!=null) outputarea.append(line ); //JOptionPane.showMessageDialog(null, line ); } } catch (IOException e) { ausgabe("Verbindung zum Server abgebrochen"); //JOptionPane.showMessageDialog(null, e.toString() ); } } }// class App
ich habe die init methode sehr beschnitten denke das die Deklarationen ausreichen werden um den Code zu analysieren
natürlich sind alle Componenten auch inizialisiert
auch Layout usw habe ich raus geholt wie gesagt da es läuft wo es nich laufen soll .....
schicke auch gerne die MyServer.class wenn bedarf besteht
Lg Kay
PPS Syntax high light für java finde ich nicht .... wie schade sieht hier immer so toll aus ...
sowieso schwer beeindruckt hier von dem Bord || Forum && Usern
Geändert von JackHammer2xxl2 (14.02.10 um 19:30 Uhr)
-
14.02.10 19:17 #6
Für Java-Syntax-Highlight schreibe einfach "java" statt "code" in die eckigen Klammern:
[ JAVA]...[/JAVA]
Und bitte schreibe in deine Beiträge auch Kommas und Punkte. Es ist sehr schwer, diese zu lesen.
-
14.02.10 19:48 #7
Meine erste Idee war, dass du vergessen hast, dass Applet gedownloadet werden. Also z. B. am localhost deine Verbindung per "localhost" aufzubauen geht wenn es am selben Rechner liegt, vom HTTP-Server gedownloadet musst du natürlich auch dessen IP übergeben/ändern.
Außerdem kann es sein, dass du dein Applet signieren musst. Hab zwar schon öfters gelesen, dass es mit dem Sourceserver gehen sollte, habe aber noch keinen Weg gefunden, wie ein Applet das hinbekommt. Wenn du das Applet z. B. rein in einen AppletViewer offline getestet hast, gibt es keine Security-Beschränkungen. Um das auszuschließen schaust du am besten in die Java Console.
-
14.02.10 21:43 #8
- Registriert seit
- Jan 2010
- Beiträge
- 5
Vielen dank für die Hinweise, wir sind Aktiv an einer Lösung am Arbeiten und berichten dann von den Ergebnissen.
Und noch mal kurz für mein Verständnis, ich bin davon ausgegangen das das Applet nur vom Browser Interpretiert wird ...also nicht runter geladen wird.
Zum anderem ist die Verbindung vorhanden auf dem Xampp und auch auf dem WebServer.
Ich mach das daran fest :
Ist die "Server.jar" nicht gestartet schlägt die Verbindung vom Applet fehl und das ganze Applet wird nicht auf der *.html seite angezeigt.
Läuft die Server.jar und das Applet Socket hat sich erfolgreich Verbunden gibt es den Text aus : Erfolgreich verbunden (Auf dem Applet JTextArea) da das auch passiert
kann ich mir doch 100 % sicher sein das es verbunden ist und läuft.
Es kommen auch keine Exceptions, womit wir Arbeiten könnten und da es auch kein Symantischer Fehler sein kann bin ich hilflos.
-
14.02.10 22:29 #9
Wenn du keine Exception bekommst, was genau läuft dann falsch?
-
16.02.10 09:33 #10
- Registriert seit
- Jan 2010
- Beiträge
- 5
Wir schaffen es einfach nicht HILFE
die Verbindung steht via Socket nur die Kommunikation von Applet zu Server.jar
writeUTF und readUTF
ich finde auch nichts im Netz.
Ne Lösung wäre uns auch was wert ...
-
07.04.10 04:48 #11SPiKEe Tutorials.de Gastzugang
@Kai
das mit dem signieren stimmt schon .. aber nur wenn du zu anderen server außer dem soruce-server ne verbindung aufbauen willst ...
solange alles nur mittem source-server läuft ist alles ok ...
zum problem ...
wenn der socket erfolgreich aufgebaut wird ... dann kann der fehler eigentlich nur dahinter stecken ...
zum beispiel
die UTF-streams failen ... dann einfach mal mit printstream und bufferedreader zusammen basteln
im connection-thread läuft was falsch > code wär gut
in der server-haupt-class stimmt was beim accept der connections nicht ...
hier mal ein kleines beispiel das laufen sollte
server.java
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import java.io.*; import java.net.*; public class server { int PORT=4711; Vector<connection> v=new Vector<connection>(); //kann man auch anders machen ... aber ich schreibs grade dierekt hier ohne zu testen public static void main(String[] args) throws Exception { new server(); } public server() throws Exception { ServerSocket ss=new ServerSocket(PORT); while(true) { Socket cs=ss.accept(); connection c=new connection(this, cs); v.add(c); } } public void send(String l) throws Exception //möglich da normaler methoden aufruf aus connection.run() { for(int i=0; i<v.size(); i++) { v.elementAt(i).out.println(l); //sollte so gehen .. wenn nicht einfach out in connection public machen } } }
connection.java
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
import java.io.*; import java.net.*; class connection extends Thread { Socket cs=null; server ss=null; BufferedReader in=null; PrintStream out=null; public connection(server ss, Socket cs) //throws Exception ist hier nicht möglich da über new instanziert wird { try { this.ss=ss; this.cs=cs; this.in=new BufferedReader(new InputStreamReader(this.cs.getInputStream())); this.out=new PrintStream(this.cs.getOutputStream()); this.start(); } catch(Exception e) { } } public void run() { try { String l=""; while(true) { l=in.readLine(); if(!l.equals("")) ss.send(l); } } catch(Exception e) { } } }
in deinem applet einfach die Data-Streams durch BufferedReader / PrintStream ersetzen und dann nur readLine / println drauf anwenden ... der rest kann so bleiben wie er ist *hoffe ich mal*
DIESER CODE WURDE NICHT GETESTET UND IST NACH http://java.seite.net/chat/quellcode.html PROGRAMMIERT
EVENTUELLE FEHLER MÜSSEN SELBST BERICHTIGT WERDEN
sollte soweit alles klappen und die nachrichten nun auch wieder bei den clienten ankommen so ist es wie oben erwähnt höchstwarscheinlich ein fehler mit den UTF-streams oder mit der broadcast-logik ...
hoffe ich konnt helfen
bei weiteren problemen einfach mal den kompletten source der page kopieren und testen *achtung ... es sollte auf die korrekte verwendung der streams geachtet werden ... da das beispiel veraltet und mitlerweile fehlerhaft ist *z.B. die streams durch BufferedReader / PrintStreams tauschen ... den Vector mit Typ nach Vector<T> deklarieren und initialisieren ... weitere vom compiler gemeldete warnungen*
Ähnliche Themen
-
Webserver neu starten!
Von Darkhell im Forum PHPAntworten: 3Letzter Beitrag: 28.12.06, 23:05 -
Java-Proggramm auf Webserver starten
Von big_boom_bang im Forum JavaAntworten: 5Letzter Beitrag: 27.08.06, 15:06 -
File-bzw.Webserver einrichten?Aber wie
Von tigerus im Forum NetzwerkeAntworten: 9Letzter Beitrag: 24.08.04, 16:21 -
Webserver starten
Von Hannibal im Forum Linux & UnixAntworten: 27Letzter Beitrag: 25.08.03, 22:59 -
apache webserver starten und IE ausführen
Von nox im Forum C/C++Antworten: 7Letzter Beitrag: 04.01.03, 02:46





Zitieren
Login





