corso-python-prato / share-system-team1

Other
3 stars 8 forks source link

il polling morirà? #48

Open marco64bit opened 10 years ago

marco64bit commented 10 years ago

pensavo a un meccanismo un pò più furbo che non sia websocket ne polling... ma non so se questa mia idea regge... praticamente il client quando si connette, o cambia ip, manda una richiesta al server che si salva che in una lista "{utente : lista[ip - porta]}", perche magari l'accesso viene fatto dallo stesso utente contemporaneamente su più dispositivi. il server salva su disco o in memoria questa lista e quando ci sono cambiamenti sulla directory sarà il server a notificare ai client (lista ip:porta) che hanno accesso a quella directory il nuovo snapshot e nel caso in cui nn trovi più l'utente quell'ip non ritenta ma si tiene salvato nel record quell'ip:porta cosi che quando il client (identificato da username e password) si riconnetterà con lo stesso ip o con uno nuovo verrà notificato inviandogli l'ultimo snapshot al nuovo ip:porta.

cosi facendo non ho più polling ma solo una chiamata al cambio di ip e non devo mantenere connessioni attive perche le apro solo in accasione di cambiamenti e poi le richiudo subito

pareri?

feedingaliencat commented 10 years ago

mi sembra una buona idea, solo che forse è problematico fare controlli su connessione e cambio ip: esistono delle callback di sistema, ma sono cose che cambiano perfino da distribuzione a distribuzione. O uno controlla se ha cambiato ip ogni tot tempo..

gvaldambrini commented 10 years ago

Non so se ho capito male la proposta, ma mi sembra che in questo modo ogni client debba avere un ip pubblico :slot_machine:

fmarco commented 10 years ago

L'idea non è male, ma secondo me controllare l'ip diventa macchinoso, è pure un parametro estremamente variabile. Si potrebbe pensare invece di associare all'utente una lista di macchine su cui fa girare i client, con l'eventuale autorizzazione di ogni client via mail con codice di autorizzazione (questo se si vuole un briciolo in più di sicurezza e paranoia).

Il giorno 04 agosto 2014 12:58, Gianni Valdambrini <notifications@github.com

ha scritto:

Non so se ho capito male la proposta, ma mi sembra che in questo modo ogni client debba avere un ip pubblico [image: :slot_machine:]

— Reply to this email directly or view it on GitHub https://github.com/corso-python-prato/share-system-team1/issues/48#issuecomment-51045900 .

marco64bit commented 10 years ago

non si può fare in websocket verso il client gianni?

marco64bit commented 10 years ago

ah no ok però lostesso devi avere un ip pubblico...

GendoIkari commented 10 years ago

Scusate, se ho capito bene, i websocket sono l'unico modo di fare questa cosa.