|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Chat multi-utente
Devo creare una chat multi-utente, nel momento in cui un utente accede al file di aggiornamento (in rete) non accade nulla, nel momento in cui vi entrano (mod. r+) più utenti contemporaneamente c'è il pericolo che scrivendo nello stesso istante sul file si *inchiodi l'applicazione*?...
Grazie mille Ultima modifica di Gino+89+ : 09-11-2006 alle 20:25. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
|
Quote:
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW \_\_\_\_\_DrSpeed_/_/_/_/_/
|
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
|
Quote:
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW \_\_\_\_\_DrSpeed_/_/_/_/_/
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
forse non s'inchioda ma il funzionamento sarà ambiguo...dovresti gestire un lock del file.
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
Edit: non ho ben capito quel *lock* del file Ultima modifica di Gino+89+ : 09-11-2006 alle 20:45. |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
ovviamente chiudendo il file cancelli il lock |
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
Il primo si collega e quindi crea il file.lock...gli altri 2 utenti che si collegano successivamente al primo vanno a scrivere in quel file.lock?...ma in questo modo non c'è comunque il pericolo che si scriva contemporaneamente sul nuovo file.lock? Oppure intendevi: Ogni client ha un suo file.lock e ci scrive dentro, il file principale viene aggiornato (dal primo utente) attraverso questi file.lock (tanti quanti gli utenti-1) ogni tot tipo 1 o 2 sec... Oppure Non ci ho capito un tubo del tutto? |
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
Ultima modifica di Gino+89+ : 10-11-2006 alle 15:26. |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Ma io non ho capito il discorso del file, a che ti serve scrivere su un file per fare una semplicissima chat?
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Server e tanti client, il client manda il mex al server che lo smista a tutti gli altri client, più semplice di così...
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Spe il tuo problema per caso è quando un utente si collega alla chat, non quando bisogna inviare i messaggi?
|
|
|
|
|
|
#14 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
In ogni modo il mio problema era dello scrivere contemporaneamente un post che effetti poteva produrre... |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Ma è una chat strana, cioè se uno si collega dopo 4 ore di conversazione non credo debba poter vedere tutto ciò che è stato scritto, comunque anche se la vuoi fare così non sarebbe poi un gran porblema.
Per far modificare un file da + utenti dovresti comuqnue creare una specie di coda, esempio: utente A e utente B A fa richiesta di poter scrivere sul file, la coda è libera quindi la richiesta viene accordata e A scrive sul file, mentre sta scrivendo B fa la stessa richiesta, ma viene messo in coda perchè un altro utente sta scrivendo...un ipotetico utente C se anche volesse scrivere sul file viene messo in coda dopo B e così via... Se "evento molto raro" A e B fanno richiesta insieme, viene deciso chi mettere in coda e a chio invece far eseguire subito la scrittura. |
|
|
|
|
|
#17 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
|
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma con quale linguaggio le devi scrivere ? Molti linguaggi hanno già la possibilità di aprire i file in modalità esclusiva, basterebbe questo se non hai bisogno di centinaia di utenti contemporaneamente.
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Secondo me fai prima ad impararti il protocollo TCP e fare una cosa server-client, ti viene un lavoro molto più bello e facilmente personalizzabile.
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Te ne butto li un'altra(mi piace fantasticare
Hai un file chat.dat il quale viene mostrato a tutti i clien collegati(la chat per intenderci ma viene scritta solo da un processo, non so magari da chi ha aperto la chat...). Quando un utente deve scrivere qualcosa, CREA un file dove scrive la data ed il messaggio. Così per ogni utente... Il processo che va a scrivere sul file chat.dat non fa altro che controllare ogni TOT tempo(non so ogni 500 ms, oppure ongi secondo) quanti file_utente ci sono, aprirli tutti e scrivere sul file chat.dat i messaggi prendendoli in ordine di chi ha la data + vecchia. E poi cancella i file_utente. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:08.



















