Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115

    [C] chat - condivisione lista

    salve a tutti... sto realizzando una semplice chat in c.
    ho creato un server che fa un figlio per ogni connessione di un client.
    devo memorizzare l'elenco dei client connesso e ho realizzato un tipo "lista" che mi permette di salvare i dati che mi interessano.
    il problema è che questa lista deve essere visibile e aggiornata da tutti i server-figli.
    come posso realizzare questo passo?
    spero di essermi spiegato bene...
    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    su che sistema operativo?

    Supponendo unix/linux e che stia utilizzando fork() per creai i figli, stai creando diversi processi; che per definizione hanno spazi di indirizzi separati...
    la cosa più semplice è utilizzare thread (e non processi) che condividono la memoria.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    quindi in codice cosa dovrei mettere? evito la fork()?
    ps. sono sotto linux...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    la cosa più facile è usare i pthread
    http://www.yolinux.com/TUTORIALS/Lin...ixThreads.html

    quindi riscrivere una buona parte bel codice.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    bhe..se uso i thread devo avere un server che genera un thread (invece che fare una fork) per connessione con un client... ma come faccio a generare thread dinamicamente, dato che non posso sapere quante richieste di connessione mi capitano ?

  6. #6
    Approccio asincrono basato su select()? Ci hai pensato?
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    sì alla select ci ho pensato...ma negli esempi del link postato sopra, vengono creati prima 2 thread e poi attivati... io non so quanti thread verranno creati...

  8. #8
    Select in teoria si dovrebbe usare proprio per evitare di utilizzare i threads.
    E' l'approccio esattamente opposto.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    sì ma allora i figli del server con cosa li faccio?

  10. #10
    Se approcci con select() non ti servono.
    Forse ti conviene documentarti riguardo la programmazione asincrona, se proprio vuoi approcciare in questo modo.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.