Προς το περιεχόμενο

Κλήση εκτελέσιμου από browser


bognick

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαιρετώ το λαό.

Έχω ένα θέμα. Αναπτύσσω μια εφαρμογή που έχει interface έτσι ώστε να δουλεύεις από τον browser, buttons κτλ. και θέλω κάπου ενδιάμεσα να καλέσω ένα εκτελέσιμο που έχω φτιάξει σε C. Υπάρχει τρόπος; Δε με νοιάζουν θέματα ασφαλείας καθώς ο browser θα τρέχει μόνο για αυτή την εφαρμογή τοπικά. Όλα πάνω σε linux.

Δημοσ.

Ο τυπικός τρόπος είναι να τρέχεις τη σελίδα μέσω http://localhost (δηλαδή να έχεις στήσει apache), και το C αρχείο να επικοινωνεί με τη σελίδα με CGI (δηλαδή στο περίπου το stdin είναι οι παράμετροι POST μιας φόρμας και το stdout η σελίδα HTML που θα εμφανιστεί για αποτέλεσμα).

Επίσης μπορείς απλά να το καλέσεις από php (πάλι μέσω apache).

 

Αν δεν θες να εγκαταστήσεις apache, τότε θα πρέπει να το εκτελέσεις μέσω javascript, αλλά επειδή τυπικά δεν επιτρέπεται, θα πρέπει να κατεβάσεις επίπεδα ασφαλείας και να χρησιμοποιήσεις ειδικά extensions του firefox για προσπέλαση στο δίσκο και τέτοια. Γίνεται και έτσι, αλλά δεν νομίζω ότι αξίζει τον κόπο.

Δημοσ.
Ο τυπικός τρόπος είναι να τρέχεις τη σελίδα μέσω http://localhost (δηλαδή να έχεις στήσει apache), και το C αρχείο να επικοινωνεί με τη σελίδα με CGI (δηλαδή στο περίπου το stdin είναι οι παράμετροι POST μιας φόρμας και το stdout η σελίδα HTML που θα εμφανιστεί για αποτέλεσμα).

Επίσης μπορείς απλά να το καλέσεις από php (πάλι μέσω apache).

Σε ευχαριστώ πολύ.

Είναι αναγκαστικό να γίνει από local host? Δηλαδή δε γίνεται η σελίδα να βρίσκεται σε*μία διεύθυνση που να μπορείς να την προσπελάσεις από οπουδήποτε και απλά το C πρόγραμμα να μην τρέχει στο client αλλά στον server.

Δημοσ.

Περίμενε γιατί εγώ με το "τοπικά" που είχες πει κατάλαβα ότι θα υπάρχει μόνο ένα PC=server, ενώ τώρα μου λες για servers, clients και διευθύνσεις και σε έχασα.

 

Έστω client με όνομα "client" που θέλει να δει μια σελίδα.

Έστω server με όνομα "server" στον οποίο θα τρέχει το πρόγραμμα γραμμένο σε C.

Υπάρχει και τρίτο μηχάνημα; Δηλαδή ένας server με όνομα "website" που θα περιέχει τη σελίδα την οποία θέλει να δει ο "client";

 

Πες ένα αναλυτικό παράδειγμα, ποιος είναι που, ποιος θέλεις να τρέχει τι, και τι θες να γράφεις στο URL για να το τρέξει.

 

 

Αν υποθέσουμε ότι ο "server" που θα τρέξει το πρόγραμμα C είναι συγχρόνως και ο "webserver" που θα σερβίρει τη σελίδα (το οποίο είναι και το πιο λογικό), τότε είναι όπως σου τα είπα με το CGI. Το localhost χρησιμοποιείται μόνο τοπικά, προφανώς τα υπόλοιπα PC μπορούν να έχουν πρόσβαση στον server είτε με hostname είτε με IP, π.χ. http://www.myserver.gr/selida.

Δημοσ.
Περίμενε γιατί εγώ με το "τοπικά" που είχες πει κατάλαβα ότι θα υπάρχει μόνο ένα PC=server, ενώ τώρα μου λες για servers, clients και διευθύνσεις και σε έχασα.

 

Έστω client με όνομα "client" που θέλει να δει μια σελίδα.

Έστω server με όνομα "server" στον οποίο θα τρέχει το πρόγραμμα γραμμένο σε C.

Υπάρχει και τρίτο μηχάνημα; Δηλαδή ένας server με όνομα "website" που θα περιέχει τη σελίδα την οποία θέλει να δει ο "client";

 

Πες ένα αναλυτικό παράδειγμα, ποιος είναι που, ποιος θέλεις να τρέχει τι, και τι θες να γράφεις στο URL για να το τρέξει.

 

 

Αν υποθέσουμε ότι ο "server" που θα τρέξει το πρόγραμμα C είναι συγχρόνως και ο "webserver" που θα σερβίρει τη σελίδα (το οποίο είναι και το πιο λογικό), τότε είναι όπως σου τα είπα με το CGI. Το localhost χρησιμοποιείται μόνο τοπικά, προφανώς τα υπόλοιπα PC μπορούν να έχουν πρόσβαση στον server είτε με hostname είτε με IP, π.χ. http://www.myserver.gr/selida.

Κατ' αρχήν σε ευχαριστώ πολύ για το χρόνο και τις γνώσεις σου.

 

Το 2ο μου ποστ δεν ανιρούσε το 2ο. Θα ήθελα να μπορούσα να κάνω τα εξής, με δεδομένο πάντα ότι το εκτελέσιμο C είναι για linux.

 

1) Να τρέχω την web εφαρμογή τοπικά στο pc μου (linux) και να υπάρχει δυνατότητα να καλείται η εφαρμογή από τον browser μου.

 

2) Να τρέχω την web εφαρμογή σε άλλο pc (και γιατί όχι και windows pc) απομακρυσμένα μέσω internet και να υπάρχει η δυνατότητα να τρέξει το εκτελέσιμο server side που θα είναι linux.

 

Όταν λέω web εφαρμογή εννοώ μια σελίδα με μπόλικο κώδικα μέσα.. Το interface δηλαδή..

 

Αυτά. :-)

Δημοσ.

ΟΚ, οπότε αυτό που είπα.

1. Στήνεις apache

2. Διαβάζεις σχετικά με CGI.

 

Το πρώτο για CGI C programming που βρήκα στο google:

http://www.cs.tut.fi/~jkorpela/forms/cgic.html

δεν το έχω διαβάσει, μπορεί να μην τα λέει καλά, αν δεν καταλαβαίνεις τι λέει ψάξε για άλλο tutorial.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...