Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ερώτηση για IIS???

Îåêßíçóå áðü ôï ìÝëïò jimenez. Τελευταία δημοσίευση από το μέλος jimenez στις 26-10-2006, 10:12. Υπάρχουν 15 απαντήσεις.
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  25-10-2006, 10:44 19161

    Ερώτηση για IIS???

    Καλημέρα,

       Μπορώ με κάποιο τρόπο τη στιγμή που συνδεθούν στην πόρτα 80 ορισμένοι clients αυτόματα ο server να στείλει ένα string π.χ Welcome? Χωρίς να κάνει request (GET /?). Μπορώ στην aspx σελιδα να ενσωματώσω κάτι? Ή θα πρέπει να φτιαχτεί κάτι ξεχωριστό?


    Dimitris S.
    FIRST TEST THEN CODE....
  •  25-10-2006, 12:19 19167 σε απάντηση της 19161

    Απ: Ερώτηση για IIS???

    "Χωρίς να κάνει request"; Δεν κάνει ο server request, υποθέτω εννοείς χωρίς να κάνει ο client request. Πες ότι ο server όντως στέλνει κάτι. Ο client πως θα καταλάβει ότι αυτό το κάτι έφτασε αν δεν έχει το νού του κάπου (σε μια πόρτα); Το θέμα είναι ότι όταν ο client ρίχνει ένα request, κάθετε και περιμένει μέχρι να πάρει response. Πως θα τον κάνεις να περιμένει χωρίς να έχει ζητήσει τίποτα;
    Χρήστος Γεωργακόπουλος
  •  25-10-2006, 12:22 19169 σε απάντηση της 19167

    Απ: Ερώτηση για IIS???

    Έχεις απόλυτο δίκιο.Απλά αυτές οι συσκευές που προγραμματίζω χρειάζονται για εσωτερικούς λόγους (TCP/IP Connectivity Lib) την στιγμή που θα πέσουν σε μια οποιαδήποτε πόρτα πριν στείλουν request να λάβουν ένα οποιοπδήποτε string.
    Dimitris S.
    FIRST TEST THEN CODE....
  •  25-10-2006, 12:31 19170 σε απάντηση της 19169

    Απ: Ερώτηση για IIS???

    Define "πέσιμο". Δηλαδή πως εννοείς ότι γίνεται η σύνδεση; Υποθέτω γίνεται κάποιο request και παίρνει ο client ένα response, που αυτή η κουβέντα προσδιορίζει τη "σύνδεση" και στο καπάκι θέλεις ένα δεύτερο response;
    Χρήστος Γεωργακόπουλος
  •  25-10-2006, 12:46 19171 σε απάντηση της 19170

    Απ: Ερώτηση για IIS???

    Κοίτα παλιά έπαιζα με απλά sockets. ΄Οταν έμπαινε στο socket o client τότε αυτόματα "χτύπαγε" το event clientConnect(Delphi) και αυτόματα ο server έστελνε ένα start. Απλά άμα δεν στείλει κάτι ο server τότε ο client, μόλις πάρει response από τον server, κλείνει το socket που εγώ δεν το θέλω
    Dimitris S.
    FIRST TEST THEN CODE....
  •  25-10-2006, 13:01 19172 σε απάντηση της 19171

    Απ: Ερώτηση για IIS???

     jimenez wrote:
    Οταν έμπαινε στο socket o client τότε αυτόματα "χτύπαγε"

    Δεν ξέρω πως λειτουργούσε ο κώδικάς σου, αλλά το ότι "έμπαινε στο socket ο client" σημαίνει ότι ο client έκανε ένα request. Αν δεν κάνεις request στον server τότε αυτός δεν ξέρει ότι είσαι εκεί! Διαφορετικά πρέπει να ανοίξει ένα socket ο client και να "ακούει" σε αυτό. Ο server πρέπει με κάποιο άλλο τρόπο να ξέρει ότι ο client είναι εκεί και "ακούει" οπότε να του στείλει κάτι χωρίς να το έχει ζητήσει. Τώρα πως θα το ξέρει; Αν ο client είναι σε συγκεκριμένη IP ο server μπορεί να προσπαθεί να στείλει κάτι ανά διαστήματα. Δεν μου αρέσει όμως και τόσο.

    Γιατί θέλεις να μην στείλει request ο client τελικά. Τι είναι αυτό που θέλεις να του στείλεις πριν; Αν περιγράψεις λίγο περισσότερο το σενάριό σου ίσως βρεθει κάποια καλή λύση.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-10-2006, 13:07 19174 σε απάντηση της 19172

    Απ: Ερώτηση για IIS???

    Απλά συμβαίνει το εξής.Αν είναι να στείλει πολλά requests τότε λόγω ιδιοτροπίας θα πρέπει ο client μια να ανοίγει να στέλνει μετά να πέρνει το response και να κλείνει. Αυτά εγώ θέλω να τα αποφύγω. Μπορέι να έστελνε request χωρίς να φαινότανε εξωτερικά.


    Dimitris S.
    FIRST TEST THEN CODE....
  •  25-10-2006, 13:16 19176 σε απάντηση της 19174

    Απ: Ερώτηση για IIS???

    Δεν νομίζω ότι βοηθάς και πολύ! Τι εννοείς "εξωτερικά". Πάντως μην σε απασχολεί το να στέλνεις πολλά requests στον IIS. Γι αυτό το σκοπό έχει δημιουργηθεί. Δεν λέω φυσικά να στέλνεις σκουπίδια και να σπαταλάς resources, αλλά είναι πολύ φυσιολογικό να στέλνεις ένα request για να πάρεις ένα response. Διαφορετικά, για να πάρεις ένα μήνυμα στον client χωρίς να ζητήσει, είναι σαν να κάνεις τον client να λειτουργεί σαν server και να δέχετε αυτός μηνύματα, δηλαδή requests.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-10-2006, 14:34 19184 σε απάντηση της 19169

    Απ: Ερώτηση για IIS???

    Για να πάρεις κάτι θα πρέπει να το ζητήσεις.

    Μπορείς βέβαια να ψάξεις κάτι για multicast/broadcast κλπ, αλλά και πάλι που θα ξέρεις πότε να το στείλεις και αν ο παραλήπτης να ακούει κάπου.

    http://en.wikipedia.org/wiki/Broadcasting_%28networks%29

    Υπάρχει κάποιο αρχείο που κρατάει τις συνδεδεμένες συσκευές?

    Αν όχι μπορείς να ενσωματώσεις κάτι σε dhcp?

    Εκτός αν δεν σε πειράζει να ψιλογεμίσεις το δίκτυό σου με σαβουρίτσα κίνηση...


    Simple Photography
  •  25-10-2006, 15:01 19192 σε απάντηση της 19184

    Απ: Ερώτηση για IIS???

    Αυτό που θέλει ο jimenez περιγράφεται ως εξής:
    1. Ο IIS ακούει στο port 80, σε socket ορολογία έχει κάνει μια listen()
    2. H client συσκευή κάνει connect( ) στο port 80 του server
    3. Γίνεται το TCP/IP handshake
    4. O client κάνει recv( )
    5. Ο server κάνει send( ) κάτι στον client
    6. O server κάνει recv( )
    7. Ο client στέλνει το HTTP request
    8. Ο server απαντά με το response
    Τα βήματα 4 και 5 δεν αποτελούν μέρος της επικοινωνίας του IIS με τους clients, αφού μετά το TCP/IP handshake ο IIS θα πρέπει να κάνει ένα recv( ) για να διαβάσει το request.
    Δεν ξέρω αν αυτό είναι εφικτό στον IIS αν και το κόβω χλωμό να μπορείς να παρέμβεις σε αυτό το επίπεδο.
    Θα μπορούσες όμως να βάλεις τον IIS να ακούει σε άλλο port, και να έχεις μια δική σου εφαρμογή στο 80, η οποία θα κάνει την επικοινωνία με τη συσκευή όπως πρέπει και θα προωθεί μετά τα requests στον IIS.


    Νατάσα Μανουσοπούλου
  •  25-10-2006, 15:17 19196 σε απάντηση της 19161

    Απ: Ερώτηση για IIS???

    Αυτό που λεει η Νατάσσα θέλω να κάνω. Άλλα είναι φυσικό ότι δεν γίνεται. Βασικά σας εχω μπερδέψει γενικα. Απλά θέλω να αποφύγω τα εξής στον προγραμματισμό των clients. Όταν έχει να στείλει π.χ 10 requests δεν θέλω να κάνει την παρακάτω διαδικασία:

    - Open Socket

    - Send Request

    - Receive Response

    - Close Socket

    Οπότε φανταστείτε αυτή τη διαδικασία 10 φορές.


    Dimitris S.
    FIRST TEST THEN CODE....
  •  25-10-2006, 20:25 19225 σε απάντηση της 19196

    Απ: Ερώτηση για IIS???

    Δημήτρη,

    Τα TCP connunication δουλεύει με ένα συγκεκριμένο τρόπο:

    Ο server κάνει listen σε κάποιο συγκεκριμένο port.

    Ο client μπορεί να κάνει request για να συνδεθεί στο συγκεκριμένο port.

    Ο server έχει τις εξής επιλογές εκείνη την στιγμή:

    • να ανοίξει την επικοινωνία στο ίδιο port που κάνει listen για να λάβει δεδομένα,
    • να ανοίξει ένα άλλο νέο port, να προωθήσει το request στο νέο port και να ανοίξει την επικοινωνία στο νέο port,
    • να απορρίψει το request και να μην έχουμε ποτέ επικοινωνία

    Αν υποθέσουμε ότι ο server ανοίξει ένα port, τότε δέχεται τα δεδομένα που στέλνει ο client.

    Το read των δεδομένων που φτάνουν στοport του server, μπορεί να είναι παραπάνω από 1 - μπορεί να χρειαστεί να γίνουν πολλαπλά reads για να διαβαστούν τα δεδομένα που θα φτάσουν - το μέγεθος των δεδομένων που φτάνουν στο port, εξαρτάται από το MTU του δικτύου, συνήθως 1500 ή μικρότερο αν μιλάμε για Ethernet δίκτυα που παίζουν μέ NAT ή VPN και ακόμη μικρότερο, γύρω στα 500 αν δεν κάνω λάθος, για δίκτυα πάνω από τηλέφωνο.

    Αφού ο server, λάβει όλα τα δεδομένα - συνήθως το καταλαβαίνει από κάποια ακολουθία χαρακτήρων/bytes στα δεδομένα που φτάνουν - τα επεξεργάζεται και στέλνει την απάντησή του.

    Κανονικά σε μια TCP διαδικασία, αφού θα έκλεινε μια ακολουθία αποστολής/απάντησης, ο server θα κλείσει αυτόματα το port που άκουσε/απάντησε.

    Στον web server δεν συμβαίνει αυτό, μιας και μπορεί το port να μείνει ανοιχτό, για να εξυπηρετήσει ένα συνεχόμενο request από τον client.

    Φαντάζομαι, ότι καταλαβαίνεις ότι να ζητάς να υλοποιήσεις κάτι τέτοιο δεν είναι απλό, του στυλ άνοιξε/διάβασε/απάντησε/κλείσε.

    Από την άλλη ο IIS δεν είναι δυνατόν να το κάνει αυτό, γιατί δεν μιλάει σε επίπεδο TCP αλλά σε application protocol, δηλαδή http.

    Αν θέλεις να φτιάξεις κάτι που θα έχει αξιόπιστη επικοινωνία, καλύτερα να χρησιμοποιήσεις ένα application protocol - το http στην περίπτωση του IIS - που λύνει από μόνο του το πρόβλημα της υλοποίησης της TCP επικοινωνίας. Έτσι εσύ θα μπορείς να ασχοληθείς με τα δεδομένα που λαμβάνονται, πως θα επεξεργαστούν, και τι θα περιέχει η απάντηση του server.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  25-10-2006, 20:46 19231 σε απάντηση της 19225

    Απ: Ερώτηση για IIS???

    Παιρνεις ένα 'Αλβανό', τον βάζεις στο server να παρακολουθει με netstat πότε θα συνδεθεί κάποιος στο port 80. Μόλις κάποιος client συνδεθεί, ο 'Αλβανός' κάνει telnet στο client σε όποιο port σε βολευει και γράφει μπαρμπουτσαλα.

    Problem solved :P
  •  25-10-2006, 21:27 19238 σε απάντηση της 19231

    Απ: Ερώτηση για IIS???

     ChemicalChip wrote:
    Παιρνεις ένα 'Αλβανό', τον βάζεις στο server να παρακολουθει με netstat πότε θα συνδεθεί κάποιος στο port 80. Μόλις κάποιος client συνδεθεί, ο 'Αλβανός' κάνει telnet στο client σε όποιο port σε βολευει και γράφει μπαρμπουτσαλα.

    Problem solved :P

    Καταλαβαίνω την πρόθεσή σου για χιούμορ, αλλά σε αυτή την περίπτωση, κοντεύεις να χαρακτηριστής ρατσιστής. Νομίζω ότι το παραδειγμά σου, είναι ακραίο...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  25-10-2006, 21:42 19240 σε απάντηση της 19161

    Απ: Ερώτηση για IIS???

    Το 'Αλβανός' μπηκε στο context του cheap labor (junior, Ψυλομύτης Μεμαστερ κτλ) και όχι την εθνικότητα γιαυτο και τα quotes. Τεσπα μια πλακά είναι τπτ παραπάνω, ελπίζω να μη με κυνηγάει καμμια ΜΚΟ αυριο.
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems