nickolasemp Δημοσ. 19 Ιανουαρίου 2008 Δημοσ. 19 Ιανουαρίου 2008 Τα πράγματα είναι απλά... Λέμε τώρα! Έχω ένα πρόγραμμα που υλοποιεί έναν φλοιό και ένα χρονοδρομολογητή. Θέλω ο χρονοδρομολογητής να δουλεύει κανονικά, αλλά όταν πατιέται ένα πλήκτρο να σταματαέι ο χρονοδρομολογητής και ο φλοιός να δέχεται τη νέα εντολή. Σας στέλνω κάτωθι τον κώδικά μου... Ευχαριστώ εκ των προτέρων για την όποια απάντηση P.S.: Το πρόβλημά μου έγκειται στη γραμμή 208... fh.zip
Επισκέπτης Δημοσ. 19 Ιανουαρίου 2008 Δημοσ. 19 Ιανουαρίου 2008 Δεν υπάρχει non blocking μορφή της συνάρτησης scanf και γενικά non-blocking συνάρτηση. Non-blocking μπορεί να είναι ένας file descriptor, οι συναρτήσεις για blocking και non-blocking I/O είναι σχεδόν οι ίδιες (read, write, connect κτλ). Η διαφορά είναι ότι στα non-blocking file descriptors/sockets η συνάρτηση επιστρέφει κατευθείαν και δεν περιμένεις. Μερικές συναρτήσεις που μπορείς να χρησιμοποιήσεις για non-blocking i/o είναι οι : select, poll, epoll Ρίξε μια ματιά στα παρακάτω Link http://cs.baylor.edu/~donahoo/practical/CSockets/code/TCPEchoServer-Select.c http://www.lowtek.com/sockets/select.html Να σημειώσω ότι το non-blocking i/o δεν είναι portable
alkisg Δημοσ. 19 Ιανουαρίου 2008 Δημοσ. 19 Ιανουαρίου 2008 Δεν θα ήταν πιο λογικό να χρησιμοποιήσεις fork ώστε ο δρομολογητής να είναι ξεχωριστή διεργασία από το φλοιό, και shared memory ή κάτι σχετικό ώστε να επικοινωνούν μεταξύ τους;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.