tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Kai008
  • 1 Beitrag von Jellysheep
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1248
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #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
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    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.
    JackHammer2xxl2 bedankt sich. 

  3. #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
     

  4. #4
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Poste mal etwas Quellcode, event. liegt es daran.
    Ich hätte es aber eher so gemacht, dass die Applets die Verbindung aufbauen.
     

  5. #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)
     

  6. #6
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    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.
    JackHammer2xxl2 bedankt sich. 
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  7. #7
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Zitat Zitat von JackHammer2xxl2 Beitrag anzeigen
    frage mich nur wie du darauf kommst das es am Code liegen könnte wenn ich doch schreibe das es im Xampp läuft ...
    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.
     

  8. #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.
     

  9. #9
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Wenn du keine Exception bekommst, was genau läuft dann falsch?
     

  10. #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 ...
     

  11. #11
    SPiKEe 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

  1. Webserver neu starten!
    Von Darkhell im Forum PHP
    Antworten: 3
    Letzter Beitrag: 28.12.06, 23:05
  2. Java-Proggramm auf Webserver starten
    Von big_boom_bang im Forum Java
    Antworten: 5
    Letzter Beitrag: 27.08.06, 15:06
  3. File-bzw.Webserver einrichten?Aber wie
    Von tigerus im Forum Netzwerke
    Antworten: 9
    Letzter Beitrag: 24.08.04, 16:21
  4. Webserver starten
    Von Hannibal im Forum Linux & Unix
    Antworten: 27
    Letzter Beitrag: 25.08.03, 22:59
  5. Antworten: 7
    Letzter Beitrag: 04.01.03, 02:46

Stichworte