Uberalles_gr Δημοσ. 7 Ιανουαρίου 2014 Δημοσ. 7 Ιανουαρίου 2014 Καλησπέρα σε όλους και Καλή Χρονιά, έχω φτιάξει μια php εφαρμογή (δεν μας ενδιάφερει τι κάνει), όπου κάθε χρήστης έχει username και password για να μπει και να την χρησιμοποιήσει. Εγώ αυτό που θέλω είναι με κάποιο τρόπο (αυτό ψάχνω), όταν ο χρήστης χάσει την σύνδεσή του στο Internet στο καπάκι, να εκτελείται μια σελίδα php στον server. Ουσιαστικά, να triggarei μια σελίδα για να κάνει ότι χρειάζεται. Ιδέες;;;;; Προτάσεις;;;;;
παπι Δημοσ. 7 Ιανουαρίου 2014 Δημοσ. 7 Ιανουαρίου 2014 Εφοσον δεν υπαρχει συνδεση server - client, εγω θα κοιταγα απο client μερια. πχ ξερωγω, http://stackoverflow.com/questions/2858057/javascript-function-on-web-page-close
AlexanderTheGr Δημοσ. 7 Ιανουαρίου 2014 Δημοσ. 7 Ιανουαρίου 2014 Στον πίνακα με τους users θα μπορούσες να βάλεις ένα πεδίο last_action. Αυτό το πεδίο θα πρεπεί να ανανεώνεται μέσω κλίσεων ajax (πχ κάθε 30sec μέσω μιας javascript loopas) ένα script ανανέωσης. Τώρα μέσω ενός cron τρέχει ένα php script το οποίο να ελέγχει (τους loged users πάντα) ποιοι users δεν έκαναν ανανέωση του last_action. Πράγμα που σημαίνει πως δεν εκτελέστηκε το script ανανέωση που σημαίνει ότι είναι πιθανόν να οφείλετε ότι κόπηκε το ιντερνετ.
Uberalles_gr Δημοσ. 7 Ιανουαρίου 2014 Μέλος Δημοσ. 7 Ιανουαρίου 2014 Το θέμα είναι ότι θέλω με το που χαθεί η σύνδεση.Με το που πάω και βγάλω το δίκτυο να εκτελείται μια σελίδα στον server όπου θα κάνει αυτό που πρέπει να κάνει.
AlexanderTheGr Δημοσ. 7 Ιανουαρίου 2014 Δημοσ. 7 Ιανουαρίου 2014 Από την στιγμή που είσαι εκτός internet o client δεν μπορεί από όσο ξέρω μπορεί με κάποιο τρόπο να μιλήσει με τον server (Σύνδεση client - server). Άρα η μόνη φαινομενικά λογική λύση είναι αυτός ο έλεγχος να γίνετε από τον server.
defacer Δημοσ. 7 Ιανουαρίου 2014 Δημοσ. 7 Ιανουαρίου 2014 Αυτό που θέλεις γενικά δεν γίνεται και αν χρειάζεται 101% να το κάνεις τότε μια web page δεν είναι ο κατάλληλος τρόπος υλοποίησης της εφαρμογής που θέλεις. Υπάρχουν 2 σενάρια που μπορώ να σκεφτώ με τα οποία κάπως κούτσα κούτσα θα μπορούσε ίσως να υλοποιηθεί έτσι όπως το θέτεις, αλλά είναι το ένα χειρότερο από το άλλο. Σε περίπτωση που δε θέλεις να ακολουθήσεις το φυσιολογικό μονοπάτι (δηλαδή αυτό που θέλεις να το κάνεις αλλιώς), ορίστε τα σενάρια και κρίνε μόνος σου αν είναι ρεαλιστικά. Υπόψιν ότι για κάθε ένα από αυτά θα μπορούσα να γράψω μια σελίδα με προβλήματα που ίσως ή σίγουρα θα αντιμετωπίσεις, απλά δε μπαίνω στον κόπο. Όλη η εφαρμογή σε μία σελίδα (δηλαδή ποτέ page reload, όλα 100% με AJAX) και έχεις στο background ένα AJAX request στον server που δεν τελειώνει ποτέ. By definition τότε ξέρεις πως όταν τελειώσει εκείνο το server process ο χρήστης έχει αποσυνδεθεί. Βέβαια αν ο χρήστης πατήσει F5 τότε πακέτο. Ένας WebWorker (για να είναι persisting across page reloads) που έχει WebSocket connection στον server με την ίδια λογική όπως πριν. Εδώ δεν έχεις το πρόβλημα του F5 και δε χρειάζεται να ξαναγράψεις την εφαρμογή από την αρχή, αλλά η υποστήριξη σε επίπεδο browser είναι γενικά από κακή έως ανύπαρκτη.
Uberalles_gr Δημοσ. 7 Ιανουαρίου 2014 Μέλος Δημοσ. 7 Ιανουαρίου 2014 Ευχαριστώ για τις απαντήσεις. Είχα σκεφτεί το εξής: ο κάθε χρήστης να γράφει κάθε Χ χρόνο ένα αρχείο στο δίσκο ότι εγώ είμαι alive. Ο server να ελέγχει πότε ενημερώθηκε το συγκεκριμένο αρχείο για τον συγκεκριμένο χρήστη και ανάλογα να πράξει. Βέβαια εδώ θα έχω καθυστέρηση από 1 sec μέχρι και X. Άσε που θα πρέπει να τρέχει συνέχεια μια php και δεν μου αρέσει αυτό. Αυτή την στιγμή η εφαρμογή παίζει με WebSocket σε συνεργασία PHP - JS - Flash και εκεί προσπαθώ να το ενσωματώσω αλλά δεν βρίσκω άκρη. Ρώτησα να δω τι άλλες εναλλακτικές υπάρχουν αλλά από ότι βλέπω και από ότι έψαξα δεν υπάρχουν αξιόλογες λύσεις. Γενικά, με τι τρόπο θα μπορούσα να κάνω αυτό για μια web εφαρμογή.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα