La Community degli studenti di Ingegneria Informatica di Napoli


Utenti:12828  (Ultimo: lorenzo811)
Attualmente On-Line: 165
Totale Pagine Viste: 79286208

Numero di Downloads: 940269
Numero di Posts nel Forum: 273470
Totale News: 1795



Nickname    Password      (Registrati QUI)
Oggi, 21 Apr 2019 05:20:19   (server time)


.::Menu del Sito

 Home Page
 Cerca nel FORUM
 Statistiche
 Elenco Utenti
 Scrivi allo staff
 Links
 INFORMAZIONI
 FAQ
 Calendario Eventi
 News
 Archivio News
 Invia News
 Argomenti
 COMMUNITY
 Forums
 Trovamici
 CHAT IRC
 Chi segue i Corsi?
 APPUNTI
 Downloads
 UTENTE
 Pannello Personale
 Messaggi Privati
 ALTRO
 Annunci Economici
 Cruciverba On Line

 UNIVERSITA'
 Federico II
 Sito Docenti
 Facoltà di Ingegneria
 Ingegneria Informatica
 Bacheca Esami
 ESIS - Chiosco Servizi
 Campus Unina
 Elenco Telefonico Unina
 Biblioteca ingegneria
 Biblioteche Unina
 DIS - (Inf. - Sist.)
 Prisma Lab
 Elettrotecnica
 Mobilab
 Diet - (Elettr. - Telec)
 SincroLAB
 RADIO F2
 ADISU (diritto allo studio)
 Banca dati Laureati
 Wikipedia - Federico II

.::Chat Offline

Purtroppo per l''ennesimo problema di hosting la chat è temporaneamente disabilitata, mi scuso per i disagi e provvederò a breve ad un ripristino/sostituzione
grazie
PeX

  
Quelli Di Informatica: Forums

Quelli di Informatica :: Leggi il Topic - InetAddress
 FAQFAQ   CercaCerca   Gruppi utentiGruppi utenti   ProfiloProfilo   Messaggi PrivatiMessaggi Privati   LoginLogin 

InetAddress

 
Nuovo Topic   Rispondi    Indice del forum -> Programmazione II
Precedente :: Successivo  
Autore Messaggio
ransielupesco
quello campione
quello campione

Corso: II Anno Specialistica

Attualmente è: Offline
Messaggi: 596
Registrato: Dec 17, 2003

MessaggioInviato: Ven 20 Giu, 2014 - 15:05    Oggetto: InetAddress Rispondi citando

Ciao a tutti, ho un piccolissimo problema relativo alle socket: si tratta di un semplicissimo scambio di messaggi tra client e server tramite socket in java nell'esempio ECHO CLIENT-SERVER single thread:
LATO SERVER -> TUTTO OK
LATO CLIENT HO IL PROBLEMA: (Premetto che il codice è quello del prof e usa il costruttore a 4 argomenti , lo so che va bene già a 2 E CON QUELLO A 2 FUNZIONA! )
socket = new Socket(address, SERVERPORT, InetAddress.getLocalHost() ,localPort);
IL PROBLEMA STA IN InetAddress.getLocalHost() , CHE INVECE DI RESTITUIRMI SOLO L'IP LOCALE MI RESTITUISCE
HOSTNAME/IP : in particolare mi restituisce "AnnaMariaAsus/192.168.0.110".
OVVIAMENTE QUANDO CERCA DI APRIRE LA CONNESSIONE GENERA L'ECCEZIONE: connect: Address is invalid on local machine.
IL SISTEMA OPERATIVO è WIN8.1 E LA JDK è LA 1.8.0_05
Ora la mia domanda è : come faccio a fare in modo che InetAddress.getLocalHost() mi restituisca solo l'indirizzo IP e non anche l'host name?

Io avevo scritto anche questo pezzettino di codice:
InetAddress loc=InetAddress.getLocalHost();
String IPlocale = loc.getHostAddress();
socket = new Socket(address, SERVERPORT, InetAddress.getByName(IPlocale), localPort);

MA GENERA LA STESSA ECCEZIONE PERCHè IN InetAddress.getByName(IPlocale) mette " /192.168.0.110 ", cioè mette anche il carattere / in più.
Siccome sto impazzendo, potreste aiutarmi? lo so che deve essere una fesseria, ma non ci riesco Lingua Grazie
Torna in cima
Profilo Messaggio privato Indirizzo AIM MSN Messenger
Enigmista
Quello Best Of Forum
Quello Best Of Forum

Corso: II Anno Specialistica

Attualmente è: Offline
Messaggi: 113
Registrato: Feb 12, 2004

MessaggioInviato: Sab 21 Giu, 2014 - 20:35    Oggetto: [Cinque] PR2 Rispondi citando

Ciao Ransie,

spero di aver capito la problematica
(hai troncato il printstacktrace "connect: Address is invalid on local machine. ", inoltre non hai indicato cosa inserisci come "address" in:
socket = new Socket(address, SERVERPORT, InetAddress.getLocalHost() ,localPort); dato che potrebbe essere quello il problema )

Anche io inizialmente avevo problemi sulla mia macchina. L'origine era da ricercare nelle impostazioni di rete (e interfacce) modificate da sw come vmware e virtualbox e in impostazioni del doppio stack IPv4-IPv6 (a tal proposito fai un ping verso localhost x verificare se la risposta è :::1 o 127.0.0.1).

Prova a inserire come "address" (che rappresenta l'indirizzo remoto del server) una stringa contenente l'ip privato del tuo pc (es: "192.168.0.4").
In alternativa, puoi inserire sempre al posto di "address" InetAddress.getLocalHost() dato che cmq client e server rappresentano la stessa macchina.

La sintassi diventa in tal caso:
Socket socket = new Socket(InetAddress.getLocalHost(), SERVERPORT, InetAddress.getLocalHost() ,localPort);

Dovrebbe funzionare.

PS: ti allego il progetto tramite dropbox che crea la connessione (sono presenti le istruzioni commentate funzionanti e non funzionanti)): http://goo.gl/MQ1r2f

PSS: non so se sia corretto dato che sto ultimando la preparazione in PR2. Ci si vede all'esame occhiolino

Buona serata
Torna in cima
Profilo Messaggio privato
ransielupesco
quello campione
quello campione

Corso: II Anno Specialistica

Attualmente è: Offline
Messaggi: 596
Registrato: Dec 17, 2003

MessaggioInviato: Dom 22 Giu, 2014 - 15:14    Oggetto: Re: [Cinque] PR2 Rispondi citando

Enigmista ha scritto:
Ciao Ransie,

spero di aver capito la problematica
(hai troncato il printstacktrace "connect: Address is invalid on local machine. ", inoltre non hai indicato cosa inserisci come "address" in:
socket = new Socket(address, SERVERPORT, InetAddress.getLocalHost() ,localPort); dato che potrebbe essere quello il problema )

Anche io inizialmente avevo problemi sulla mia macchina. L'origine era da ricercare nelle impostazioni di rete (e interfacce) modificate da sw come vmware e virtualbox e in impostazioni del doppio stack IPv4-IPv6 (a tal proposito fai un ping verso localhost x verificare se la risposta è :::1 o 127.0.0.1).

Prova a inserire come "address" (che rappresenta l'indirizzo remoto del server) una stringa contenente l'ip privato del tuo pc (es: "192.168.0.4").
In alternativa, puoi inserire sempre al posto di "address" InetAddress.getLocalHost() dato che cmq client e server rappresentano la stessa macchina.

La sintassi diventa in tal caso:
Socket socket = new Socket(InetAddress.getLocalHost(), SERVERPORT, InetAddress.getLocalHost() ,localPort);

Dovrebbe funzionare.

PS: ti allego il progetto tramite dropbox che crea la connessione (sono presenti le istruzioni commentate funzionanti e non funzionanti)): http://goo.gl/MQ1r2f

PSS: non so se sia corretto dato che sto ultimando la preparazione in PR2. Ci si vede all'esame occhiolino

Buona serata

Grazie !!!!!!!!!!!! Molto Felice Molto Felice Molto Felice Molto Felice Molto Felice
sei stato veramente gentilissimo!!!!!!!!!
ho visto il codice che mi hai inviato e ti ringrazio!!!!
Se posso rendermi utile, considerami a disposizione
Torna in cima
Profilo Messaggio privato Indirizzo AIM MSN Messenger
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Indice del forum -> Programmazione II Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Idea, website e amministrazione by PeXPeX
Il materiale nel sito è disponibile GRATUITAMENTE e non può essere connesso a nessuna attività economica o LUCRATIVA
Sito sviluppato in PHP sulla base del CMS PHP-Nuke. Su licenza GPL/GNU Best View 1024*768