Nick_Iommi Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 καλησπερα,εχω φτιαξει εναν server και εναν client που επικοινωνουν μεταξυ τους σε γλωσσα C.Mπορει καποιος να με βοηθησει οσον αφορα τον κωδικα που χρειαζομαι ωστε ο server να μπορει να λαμβανει το περιεχομεno html μια σελιδας απο εναν πραγματικο web server και να το αποθηκευει?
bnvdarklord Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 Αν δεν κάνω λάθος αν στείλεις στον server το εξής: GET /index.html HTTP / 1.1 Θα σου απαντήσει με την σελίδα που θες.
Nick_Iommi Δημοσ. 25 Νοεμβρίου 2011 Μέλος Δημοσ. 25 Νοεμβρίου 2011 Αν δεν κάνω λάθος αν στείλεις στον server το εξής: Θα σου απαντήσει με την σελίδα που θες. αυτο δηλαδη το γραφω στον client??αν μπορεις γραψε ενα παραδειγμα πχ για το www.google.gr
bnvdarklord Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 Ναι εκει που στελνει το μύνημα ο client δοκιμασε να στελεις αυτό. Για το google λογικα θα δουλεψει.( Αν οχι το πολύ πολύ να βγάλει κανα Bad Request ως απάντηση ο server που σημαίνει οτι και παλι δουλευει.) Σημειωση προσθεσε στο τέλος \r\n\r\n
Nick_Iommi Δημοσ. 25 Νοεμβρίου 2011 Μέλος Δημοσ. 25 Νοεμβρίου 2011 Ναι εκει που στελνει το μύνημα ο client δοκιμασε να στελεις αυτό. Για το google λογικα θα δουλεψει.( Αν οχι το πολύ πολύ να βγάλει κανα Bad Request ως απάντηση ο server που σημαίνει οτι και παλι δουλευει.) Σημειωση προσθεσε στο τέλος \r\n\r\n ναι αλλα δεν σ αυτο που εγραψες δεν βλεπω πουθενα %s ή καποια μεταβλητη ωστε ο χρηστης να μπορει να πληκτρολογησει το url που θελει.αν μπορεις να γινεις λιγο πιο αναλυτικος θα το εκτιμουσα..
bnvdarklord Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 Σε κάποιο σημείο του κώδικα σου εχεις επιλέξει σε ποιον server θες να συνδεθεί ο client. Ισως εχεις βαλει localhost γιατι τρέχεις τον server που εφτιαξες τοπικά. Θα βαλεις www.google.com, και για port θα βαλεις την 80. Μετά στειλε το GET request που σου είπα με τον client σου.
Nick_Iommi Δημοσ. 25 Νοεμβρίου 2011 Μέλος Δημοσ. 25 Νοεμβρίου 2011 δεν με ενδιαφερει κατι τετοιο διοτι στην εργασια μου πρεπει ο χρηστης να επιλεγει το url που θα συνδεθει ο server και οχι να πειραζω εγω τα ορισματα της sockaddr_in και για να καταλαβω τι εννοεις με το get request αν μπορεις γραψε την write που προτείνεις..
bnvdarklord Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 Ναι ο χρήστης το δινει το url και μετά αυτό που δινει το βαζεις στο sockaddr_in. Συγκεκριμενες εντολές C δεν ξερω γιατι δεν εχω κανει sockets σε C. Αυτό που θα κανεις όμως ειναι κοινό παντού: 1) Εισοδος απο χρηστη του url και της port(ή την αφήνεις default 80. Για αυτό που θες να κανεις θες την 80) 2) Ανοιγμα socket στο url που έδωσε ο χρήστης στην port 80. 3) Αποστολή GET request με τον client στο socket : GET /index.html HTTP / 1.1\r\n\r\n Στην θέση του /index.html θα βάλεις την σελίδα που θες. Μπορεις να βαλεις και full path δηλαδη www.google.com/index.html. Φαντάζομαι ο χρήστης θα δινει ολόκληρο το path.
Nick_Iommi Δημοσ. 25 Νοεμβρίου 2011 Μέλος Δημοσ. 25 Νοεμβρίου 2011 Ναι ο χρήστης το δινει το url και μετά αυτό που δινει το βαζεις στο sockaddr_in. Συγκεκριμενες εντολές C δεν ξερω γιατι δεν εχω κανει sockets σε C. Αυτό που θα κανεις όμως ειναι κοινό παντού: 1) Εισοδος απο χρηστη του url και της port(ή την αφήνεις default 80. Για αυτό που θες να κανεις θες την 80) 2) Ανοιγμα socket στο url που έδωσε ο χρήστης στην port 80. 3) Αποστολή GET request με τον client στο socket : GET /index.html HTTP / 1.1\r\n\r\n Στην θέση του /index.html θα βάλεις την σελίδα που θες. Μπορεις να βαλεις και full path δηλαδη www.google.com/index.html. Φαντάζομαι ο χρήστης θα δινει ολόκληρο το path. thnx gia tis apantiseis.Κατι τελευταιαο,στην εργασια λεει ο τοπικος σερβερ(δηλαδη ο server παιρνει το default αdresss toy pc μου) πρεπει να συνδεεται με εναν πραγματικο webserver.Πειραζοντας εγω το sockaddr in δεν ειναι σαν να συνδεομαι απ τον client απευθειας στον webserver?
bnvdarklord Δημοσ. 25 Νοεμβρίου 2011 Δημοσ. 25 Νοεμβρίου 2011 Δηλαδή σου λεει να συνδεεσαι client -> local server -> webserver? Δεν βρίσκω το νόημα, αλλα γινεται να στειλεις το μήνυμα πρωτα στον local και ο local με την σειρα του να το στειλει στον web server.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα