Promblemi applet - ricezione dati

ExSoax

Nuovo Utente
20 Ott 2009
5
0
0
Salve a tutti , sto creando un Mini-Gioco multiplayer in tempo reale e quindi ho creato un applet e un server che si scambiano dati che poi comunicano al db mysql. Ho un problema però... il server funziona perfettamente e non ha errori, legge il db e tutto, mi ci sono connesso con un telnet e funziona alla perfezione come dovrebbe, invece la applet invia i dati, ma non riesce a riceverli, la applet è firmata e ho provato anche con altri server, ma non va... Ho notato che prima non inviava neanche i dati fino a quando ho tolto il PrintWriter e ho messo PrintStream. Ecco il codice :

Codice:
    import java.applet.*;
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class ExploreX extends Applet{

        public Graphics outscreeng;
        public Image outscreen;
        public int x,y;
        public boolean log = false;
        public Socket client;
        public String username;
        public String password;
        public String ip;public int porta;

       public static void alert(String title, String message){

       JFrame window = new JFrame(title);
       window.setBounds(400,400,210,120);
       JTextArea area = new JTextArea(message,10,10);
       area.setEditable(false);
       window.add(area);
       window.show();


       }


       public void init(){

        ip = getParameter("ip_address");
        porta = Integer.parseInt(getParameter("game_port"));
        username = getParameter("username");
        password = getParameter("password");
        outscreen = createImage(this.size().width,this.size().height);
        outscreeng = outscreen.getGraphics();

             try {

                client = new Socket(ip, porta);
                BufferedReader ClientI = new BufferedReader(new InputStreamReader(client.getInputStream()));
                BufferedWriter ClientO = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));

                ClientO.write(username+":"+password+"\n");



                String result = ClientI.readLine();

                System.out.println("Result : " + result);

                alert("Result",result);

                stop();




            } catch (Exception ex) {

                alert("Errore",ex.getMessage());
                stop();

            }


      }
     

       public void paint(Graphics g){

      if(log == true){


       outscreeng.drawRect(x,y,50,50);
       g.drawImage(outscreen,0,0,this);


      }else{


      }

       
       }

       public void update(){

       outscreeng.clearRect(0,0,this.size().width,this.size().height);
       outscreeng.drawRect(0,0,(this.size().width-2),(this.size().height-2));

       }


    }


Se sapete aiutarmi postate please... Grazie! Ciao!
 

lespaul

Utente Attivo
30 Lug 2009
91
6
0
www.simplesoft.it
Ciao ExSoax e benvenuto nel forum.
Da quanto ho capito l' applet si ferma String result = ClientI.readLine();
e rimane in attesa della risposta dal server. Secondo me dovresti inserire dopo che fai un write() richiamare il metodo flush() nel tuo caso:
Codice:
ClientO.write(username+":"+password+"\n");
ClientO.flush();

Dovrebbe risolvere il probelma.

Facci sapere.

Ciao
 

ExSoax

Nuovo Utente
20 Ott 2009
5
0
0
No , nn funziona ancora.. ho messo il flush(), ma non va , prima non scriveva neanche i dati con il PrintWriter fino a quando non ho messo PrintStream è come se non funziona l'IO
 
Ultima modifica:

lespaul

Utente Attivo
30 Lug 2009
91
6
0
www.simplesoft.it
Comunque nel codice che hai posto non c'è il PrintStream. In questo caso sembra comunque corretto. Non conosco l' implementazione del server, ma da come hai spiegato tu che con un applicazione come telnet funziona, allora il problema riguarda la scrittura dei dati nello stream, cioè questa non viene terminata, ho il server non riceve correttamente la stringa e quindi si aspetta ancora qualche altro carattere. Secondo me potresti fare un ulteriore prova inserendo Carriage Return/Line Feed (CR/LF) cioè "\r\n" in questo modo:
Codice:
ClientO.write(username+":"+password+"\r\n");
tu hai inserito solo l' "\n"
 

ExSoax

Nuovo Utente
20 Ott 2009
5
0
0
Ok ora prova e ti faccio sapere, comunque si mi sono sbagliato, ora non sto utilizzando il PrintStream, lo stavo facendo prima

Niente non va, provo a riscrivere l'applet da capo...
 
Ultima modifica:

ExSoax

Nuovo Utente
20 Ott 2009
5
0
0
Ho appena creato un programma normale in java per connettermi al server e provare in qualche altro modo il gioco, e ho scoperto che il problema non è solo della applet ,ma di tutti i client Java, non credo siano bloccati dal firewall visto che lo chiuso e riaperto per controllare...

Ok ho ricontrollato, l'applicazione riesco a farla connettere su siti internet e ricevere senza problemi , allore l'errore sarà nel server
 
Ultima modifica:

ExSoax

Nuovo Utente
20 Ott 2009
5
0
0
Ok ho risolto , l'errore era nel server, avevo un PrintWriter e l'ho sostituito con un PrintStream, ora funziona benissimo..
 
Discussioni simili
Autore Titolo Forum Risposte Data
gun88 Java applet - Firma e Alternative Java 2
P [java] imagej caricare plugin da web applet Java 1
micio86 Webcam applet Java 0
S [Java] applet non carica classi importate da libreria.jar Java 1
borgo italia differenza tra applet e script? Javascript 10
T Immagine di sfondo menu applet Javascript 10
S Si può modificare questo applet java?? Javascript 3
D Sinus Scroll - applet gratuita Javascript 2
G Passare una variabile ad un applet PHP 1
D JavaServer Pages + Applet + non si vede nulla Web Server 0
V Problemi Applet Web Server 0
Voblo Creare applet java [Era: Piccoli consigli...] Java 4
checcox87 applet su pagina html HTML e CSS 7
G applet java Javascript 1
N PHP e Applet Java PHP 0
S [Java] Applet PoolMenu Java 1
S sfondo applet java Javascript 1
S Applet che non parte HTML e CSS 0
X [java] Applet interagente con altra applet o server Java 0
G Applet Java Javascript 5
A AIUTO per Applet news!!! Javascript 1
virtuale Inserire applet java Javascript 1
K Gallery con Applet "Lake" .... Come fare? Help ..... Javascript 1
F problema di applet-java Javascript 1
R FrontPage: implementare un'applet java HTML e CSS 1
B applet java Discussioni Varie 1
M Potete dirmi come si crea una Applet Java... Importante Vi prego Javascript 5
S Applet Java Giochi Javascript 0
A Applet Javascript 1
S APPLET Titoli di BORSA Javascript 0
F Applet java Javascript 0
S Applet Java Java 1
D menu applet java HTML e CSS 1
N facile per voi (uso di applet) HTML e CSS 1
E Applet Java (Menu) Java 1
E Applet Java (Menù) Javascript 1
2 modificare sfondo applet HTML e CSS 1
L Ricezione dei dati su file php da modulo html PHP 6
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
P [PHP] Ricezione dati da form PHP 10
A Ricezione corpo email vuoto PHP 2
F Problemi con ricezione mail dal form PHP 8
A IPad Air problema ricezione mail Smartphone e tablet 0
S [RISOLTO] Problemi di ricezione posta Adsl e Connettività 5
Frank10 Thunderbird: tempo ricezione delle e-mail Posta Elettronica 1
F invio e ricezione sms PHP 4
max_400 Problema apostrofo nella ricezione della variabile per poi scriverla dentro un file PHP 6
max_400 php: refresh solamente alla ricezione dei dai - by max4001976 PHP 4
I Ricezione Dati da Seriale in PHP PHP 12

Discussioni simili