View Full Version : [Java] La mia chat
Ho fatto una chat con il socket TCP e la volevo inserire nel mio sito (ho quindi guardato come funzionano le applet perché devo fare una specie di conversione)...
ho usato la textarea e la textfield, quando uno scrive spedisce al server che gira sul mio pc a ip fisso...il server ha una lista a cui si accede in maniera sincronizzata e spedisce i messaggi agli altri...2 sono i problemi ora:
1) innanzitutto che se modifico la classe sul browser non me la refresha ma ho già aperto un'altra discussione
2) facendo girare la classe dal sito la pagina resta in caricamente (con la x su sfondo grigio)...se guardo sulla console l'errore è "Thread not owner"...mi sa che i thread per le applet funzionano un po' diversamente dai thread in un normale programma col main, o no?
^TiGeRShArK^
05-12-2004, 20:17
mi sa ke non puoi fare girare un applet su un server remoto.....
Se tu carichi la pagina messa su quel server, in realtà scarichi la applet e la esegui in locale......
x refreshare la classe devi sovrascrivere quella vekkia ke hai scritto.... se quindi la vekkia gira su un server devi inviare il nuovo .class (o .jar) nella stessa directory del server dove c'era quello precedente, in modo da sovrascriverlo....
ho un grosso problema...ho inserito la classe del client "ChatClient.java" sul mio sito chat (http://www.valeweb.net/web/chat) ...con il mio pc dove ho installato sia la jvm che il jdk per poter compilare la classe mi viene caricata mentre invece ho chiesto ad amici di accedere alla pagina e tutti mi hanno risposto che non viene caricato nulla e dàcome errore class ChatClient not found...il che è impossibile perché è effettivamente su quel percorso,uno perché a me funzia (in remoto dal mio pc) e due perché l'ho messa con ftp...a questo punto mi chiedo che succede!!!:muro: :muro: :muro:
^TiGeRShArK^
07-12-2004, 21:40
mi sa ke è lo stesso motivo x cui non vedi il refresh dell'applet :D
probabilmente ti stati incasinando con l'indirizzo ke hai messo nel file html ke va a leggere una classe ke hai in locale penso.....
mi sembra impossibile...il file è index.htm e il codice è:
<html>
<head>
<title>
chat
</title>
</head>
<body>
<APPLET code="chatclient.class" width=500 height=200>
</APPLET>
</body>
</html>
che quindi prende il file nella cartella sul server!
^TiGeRShArK^
08-12-2004, 10:42
prova a cancellare il codice del server e vedi ke succede.
Se non parte più nemmeno a te rimettilo nella stessa locazione.
cmq se non sbaglio manca l'indicazione del codebase ... non so se ti può servire x farlo funzionare correttamente....
Io x fare funzionare la mia applet ho perso un casino di tempo, ma quella era più complicata perchè dovevo aggiungere un bel pò di librerie nel jar....
Un ultima cosa. Qui avevi detto
ho inserito la classe del client "ChatClient.java"
Hai messo il .class e non il . java vero????
^TiGeRShArK^
08-12-2004, 10:44
ooppss....
a me funziona la tua chat... solo ke non si collega al server.
Per caso sei riuscito a risolvere???
non si collega al server perché per ora che in fase di test faccio partire il server dal mio pc solo quando lo provo...però ti ha caricato la classe...ed anche a me! però agli altri amici a cui l'ho fatto provare no, non vorrei che andasse solo a quelli che hanno il jdk oltre che la jvm, boh!!
:muro: :mc:
sembra che ora non funga anche la connessione...il codice per il server è:
listener=new ServerSocket(3333);
e il while(true) con l'accept
il client invece è
Socket clientSocket = new Socket(server,porta);
nel try-catch...nel router ho impostato il NAT sulla porta scelta per farmi passare i dati, ma non funge...parte l'eccezione del catch. Come porta ho provato la 3333, dovrebbero andare bene tutte sopra la 1024...
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
^TiGeRShArK^
09-12-2004, 00:36
cmq stai attento ad una cosa...
il server lo devi fare girare NECESSARIAMENTE sulla makkina ke carica l'applet...
questo perkè le applet permettono solo di creare connessioni con lo stesso host da dove è stat caricata l'applet...
se prova a collegarsi qualcuno, scaricando l'applet dal server, e collegandosi al tuo pc riceve un errore....
l'unico modo x aggirare questa limitazione, ke io sappia, è signare l'applet.
ah, non lo sapevo...io vorrei fare una chat da mettere sulla mia pagina web e vorrei che la potesse usare chiunque, un po' come le chat java quelle che si posono prendere gratis dalla rete. Quindi l'unico modo è signarle: non so cosa vuol dire (immagino dare una sorta di certificato) e non so soprattutto come !
^TiGeRShArK^
09-12-2004, 11:25
qui è spiegato abbastanza bene come effettuare il signing....
http://personal.vsnl.com/sureshms/javasign1.html
^TiGeRShArK^
09-12-2004, 11:32
cmq il problema non è ke non lo possono usare tutti senza il signing....
il problema è ke dovresti fare girare il server PER FORZA nella stessa makkina del server web.....
Se invece il server gira sulla tua makkina e il client è su una pagina web di un' altra makkina, la java machine lancia un eccezione di sicurezza (o qlkosa del genere)
va beh...potrei fare una piccola paginetta web con il client sulla mia macchina e gestirla con apache...farò sapere!
^TiGeRShArK^
10-12-2004, 12:23
mi sa ke è la cosa migliore...
fare girare il server chat sulla tua makkina in sieme al server web ke contiene le pagine con le applet...
In questo modo non avrai problemi di signing.....
Funziona! grosse cose...mi chiedevo come si faccia a far partire un processo in bacground...poiché metterei nell'esecuzione automatica l'esecuzione della classe server ma vorrei che ad ogni avvio mi restasse in background senza averla sulla barra di applicazioni tutto il tempo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.