Problema compilazione Socket Java.

FrancescoZio1
Salve ragazzi,sto' svolgendo sercizi sui Socket,in java,il problema consisnte nell'errata valutazione che l'analizzatore lessicale esegue quando vado a istanziare un oggetto Socket,praticamente ,alla mia dicitura:
Socket s=new Socket("IP",porta);
lui risponde che non esiste un oggetto Socket che abbia un costruttore che riceve dei parametri(cosa errata),inoltre non mi fornisce tutti i metodi che potrei normalmente utilizzare sui Socket,ho installato la nuova versione di eclipse(indigo),le nuove JDK e JRE ed ho aggiornato java,ma niente,qualche idea?.
Grazie.

Risposte
FrancescoZio1
"IP",porta,sono parametri generali,non quello che ho scritto io.

per fare un esempio ,se faccio:

Socket socket=new Socket("www.google.it",80); lui dice che non esiste un costruttore ,nella classe Socket,che riceva parametri,in poche parole ,secondo lui esiste soltanto un oggetto Socket che abbia un costruttore di default senza parametri,cosa ovviamente errata,in quanto ,se non inserisco parametri,la mia macchina funge sia da Client che da Server,se inserisco dei parametri,indico verso quale indirizzo IP dedicare la mia connessione e su quale servizio(porta) accedere.
Non riesco a capire per quale motivo non mi legge la classe Socket.

apatriarca
Prova a ricreare il problema in una piccola applicazione di test che puoi inserire nella discussione. Così possiamo testarla e vedere se si tratta di un problema di compilazione o di un problema nella configurazione della JDK sul tuo sistema o ..

FrancescoZio1
Ho provato con una semplicissima istanza della classe Socket:
tralasciando il package.


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

class Prova{

public static void main(String[]args){

Socket socket=new Socket("www.google.it",80);

}

}

già in questo modo mi dice che devo o creare un nuovo costruttore che riceva i 2 parametri in ingresso o eliminare i suddetti,se poi provo a creare un Socket senza parametri,non da' errore,ma non lo vede come oggetto Socket ,infatti se provo a scrivere : socket.close();,ad esempio, lui mi da' errore,non trovando il metodo.

Sull'eclipse di un mio amico funziona,quindi sarà un problema di impostazione eclipse,ma non so' cosa,ho provato ad andare in proprietà del progetto e settare la versione di java 1.6,ma niente...

apatriarca
A parte richiedermi di inserire quel codice in try/catch funziona perfettamente sul mio computer. È un'installazione nuova o hai già realizzato altri progetti con l'installazione corrente? Hai provato ad usare altri IDE o a compilare il codice direttamente con javac?

FrancescoZio1
Sarà allora sicuramente qualche impostazione di eclipse,sul fisso è nuova,ma sul portatile ho già fatto alcuni progetti di Sistemi Operativi e funzionava tranquillamente,cmq più tardi proverò con javac,grazie ugualmente per l'aiuto e la pazienza :).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.