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

 

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

Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

Îåêßíçóå áðü ôï ìÝëïò jimenez. Τελευταία δημοσίευση από το μέλος a.soursos στις 16-01-2007, 11:02. Υπάρχουν 17 απαντήσεις.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-01-2007, 12:31 23016

    Huh? [:^)] Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Καλημέρα σε όλους και καλή χρόνια σε όλη την κοινότητα.

    Θα ήθελα να ρωτήσω το εξής πως γίνεται να συνδέσουμε δύο εφαρμογές μαζί? Με socket?

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


    Dimitris S.
    FIRST TEST THEN CODE....
  •  04-01-2007, 14:00 23017 σε απάντηση της 23016

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Αν μιλάς για .NET, η επικοινωνία μεταξύ δεν processes συνήθως γίνεται με .NET Remoting. Στο .NET 2 υπάρχει και το IPC (interprocess communication) channel το οποίο δίνει την δυνατότητα επικοινωνίας μεταξύ δυο processes που βρίσκονται στον ίδιο υπολογιστή.
    Εχθές έπεσα πάνω σε ένα σχετικό άρθρο: Using IPC channels and .NET Framework 2.0 to communicate between processes
    Παλιότερα στο COM, πριν το .NET, η επικοινωνία μπορούσε να γίνει μέσω του ROT (running objects table). Η όλη διαδικασία ήταν αρκετά πιο απλή, καθώς δεν έμπλεκε τον προγραμματιστή με έννοιες όπως το serialization, το οποίο απαιτεί το .NET Remoting. Ίσως μπορεί να γίνει και στο .NET, αν και μάλλον μου φαίνεται λιγάκι "μαϊμουδιά"! Δες αυτό (ελπίζω να βγάλεις άκρη) : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1017359&SiteID=1

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  04-01-2007, 14:13 23021 σε απάντηση της 23017

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Κοίτα θα υπάρχει περίπτωση να θέλω να λαμβάνει η εφαρμογή μου κάποιες τιμές από το άλλο πρόγραμμα. Ο πελάτης μου ζήτησε να μην γίνει μέσω βάσης. Φυσικά του πρότεινα xml αλλά τελικά μπορεί να γίνει και με .NET Remoting?
    Dimitris S.
    FIRST TEST THEN CODE....
  •  04-01-2007, 14:22 23023 σε απάντηση της 23021

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Ναι, μπορεί να γίνει με .NET Remoting. Επίσης και με web services, COM+ ή MSMQ.

    Τώρα τι είναι καλύτερο, μόνο εσύ ο ίδιος μπορείς να το βρεις, μετά από μελέτη των παραπάνω.

    Η XML που αναφέρεις δεν είναι ο τρόπος επικοινωνίας, αλλά ο τρόπος αναπαράστασης της πληροφορίας που θέλεις να μεταδώσεις. Μπορείς να χρησιμοποιήσεις XML με όλους τους παραπάνω τρόπους.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  04-01-2007, 19:49 23034 σε απάντηση της 23023

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Έχεις απόλυτο δίκιο. Απλά προσπαθούμε να βρούμε μια γρήγορη και φυσικά αξιόπιστη λύση.

    Γενικά για κάποιον που δεν έχει ασχοληθει με .Net Remoting θα χρειαστεί πολύ χρόνο να να μάθει αυτή τη τεχνικη?
    Dimitris S.
    FIRST TEST THEN CODE....
  •  04-01-2007, 22:13 23036 σε απάντηση της 23034

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Αν θέλεις να κάνεις κάτι απλό δεν νομίζω να έχεις πρόβλημα. Ψάξε για παραδείγματα στο google.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  04-01-2007, 23:50 23043 σε απάντηση της 23036

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Απ'οτι καταλαβαινω, θελεις κατι quick and dirty. Νομιζω οτι πιο "γρηγορη και αξιοπιστη λυση" απο τα sockets, δεν υπαρχει...
    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  05-01-2007, 00:09 23048 σε απάντηση της 23043

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Νομίζω ότι το remoting είναι μάλλον ευκολότερο στον προγραμματισμό από τα sockets. Με τo remoting η μία εφαρμογή παρέχει ένα αντικείμενο για να το καλέσουν άλλες εφαρμογές. Οι άλλες εφαρμογές απλά καλούν τις μεθόδους του αντικειμένου. Με τα sockets θα πρέπει και οι δύο εφαρμογές να χειρίζονται συνδέσεις, μηνύματα, απαντήσεις, γενικά θέλει κάμποση δουλίτσα.

    Αν θέλει κανείς ασύγχρονη επικοινωνία, θα χρειαστεί MSMQ και ανταλλαγή μηνυμάτων. Με το .NET αυτό είναι αρκετά εύκολο. Αν θέλει transactions, object pooling, synchronization, υπάρχει το COM+. Αν θέλει η εφαρμογή να επικοινωνεί με εφαρμογές και σε άλλες πλατφόρμες, Web Services. Το Remoting είναι πολύ καλό όταν οι απαιτήσεις είναι απλές. Ειδικά όταν οι εφαρμογές βρίσκονται στο ίδιο μηχάνημα, η επικοινωνία μεταξύ των εφαρμογών μπορεί να γίνει μέσω shared memory πολύ γρηγορότερα απ' ότι αν γινόταν μέσω TCP.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  05-01-2007, 00:49 23051 σε απάντηση της 23016

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Όντως τα sockets είναι και αυτά μια λύση που ξέχασα να αναφέρω. Είναι όμως η πιο low level λύση και χρησιμοποιείται για ειδικές μόνο περιπτώσεις ή για επικοινωνία με παλιά συστήματα. Αν έχει κανείς τη δυνατήτητα να χρησιμοποιήσει μια από τις άλλες λύσεις τότε η χρήση των sockets είναι μάλλον προσπάθεια ανακάλυψης του τροχού και όπως λέει και ο Παναγιώτης, δεν είναι και το ευκολότερο πράγμα στον κόσμο!
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  05-01-2007, 11:27 23061 σε απάντηση της 23051

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Το Remoting τεχνικα ειναι ισως η καλυτερη λυση αλλα θελει λιγο διαβασμα ενω με τα sockets λιγο να δεις τα samples εχεις βγαλει αμεσως ακρη.
    Επισης σου δινει την αισθηση του ΟΟ αλλα σε μερικες (απλες) περιπτωσεις ειναι overkill.
    Εγω εχω φτιαξει εδω κατι σαν το MSN Messenger και το χρησιμοποιουμε στην εταιρεια, με sockets και δεν αισθανθηκα οτι "ανακαλυψα τον τροχο". Ασε που πλεον με το .net, μονο low level δεν ειναι.
    Εξαρταται απο τον jimenez ποσο χρονο θελει να διαθεσει και ποσο αργοτερα θα τον ενδιαφερει το ευκολο scaling στο συγκεκριμενο app στο μελλον (οχι οτι με τα sockets δεν γινεται αλλα με το remoting ειναι πιο "σωστο")
    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  05-01-2007, 13:04 23066 σε απάντηση της 23061

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Ευχαριστώ πολύ. Σε λίγο καιρό θα σας ρωτήσω λεπτομέριες.
    Dimitris S.
    FIRST TEST THEN CODE....
  •  05-01-2007, 13:05 23067 σε απάντηση της 23066

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Βασικά εφόσον υπάρχουν έτοιμες τεχνικές γιατί να παίξω με sockets? Τωρα αν δω οτι δεν προλαβαίνω...Sockets...
    Dimitris S.
    FIRST TEST THEN CODE....
  •  05-01-2007, 13:17 23068 σε απάντηση της 23067

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

     jimenez wrote:
    Βασικά εφόσον υπάρχουν έτοιμες τεχνικές γιατί να παίξω με sockets?

    Γιατι οι "ετοιμες τεχνικες" προυποθετουν, οπως ειπα και πιο πανω, λιγο διαβασμα και δεν ξερω αν εχεις το χρονο να το κανεις. Επισης, τα sockets στο .net ειναι πλεον πολυ ευκολα σε κατανοηση και αρα σε υλοποιηση καποιας λυσης, ελπιζω να μην εχεις κοιταξει τιποτα C++ κωδικες περι sockets και νομιζεις οτι ετσι ειναι και τωρα...

    Κανε οτι θελεις και τελικα οτι σε βολευει και σου αρεσει. Η γνωμη μου ομως ειναι οτι επειδη προκειται περι τροπων "εποικοινωνιας" μεταξυ software, καλο θα ειναι ν'ασχοληθεις και με τα 2 καποια στιγμη, ετσι θα εχεις περισσοτερα "οπλα" και αναλογα με το app να χρησιμοποιεις.


    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  05-01-2007, 14:50 23076 σε απάντηση της 23068

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Εύκολο scaling και Remoting δεν αναφέρονται συνήθως στην ίδια φράση. Εδώ και χρόνια, η συμβουλή που δίνεται σε Teched και στο MSDN είναι Web Service όπου θέλεις επικοινωνία, COM+/Enterprise Services όπου χρειάζεται, Remoting μόνο για απλές εφαρμογές ή για επικοινωνία μεταξύ processes στο ίδιο μηχάνημα.

    Όσο για τα sockets, και αυτά θέλουν λίγο διάβασμα, και μετά θέλουν και τη σχεδίαση της επικοινωνίας. Αν δεν ξέρει κάποιος sockets ή remoting, διάβασμα θα κάνει οπωσδήποτε.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  05-01-2007, 15:18 23077 σε απάντηση της 23076

    Απ: Πως γίνεται η άμεση επικοινωνια δύο προγραμμάτων?

    Οπως ειναι οι τεχνολογιες τωρα πια, scaling μπορεις να κανεις σε οτιδηποτε αρκει να το εχεις στησει σωστα απο την αρχη, ειτε αυτο ειναι socket communication βαση δικου σου "πρωτοκολλου" ειτε οτιδηποτε αλλο. Τα χρησιμοποιω και τα 2 χρονια και σε αρκετα απιτητικες εφαρμογες και ποτε δεν ειχα τετοια προβληματα, ουτε στο ενα ουτε στο αλλο(Remoting)
    Παντα χρησιμοποιεις κατι που ταιριαζει με το προβλημα, λυσεις υπαρχουν.

    Ξαναλεω, ο jimenez ζητησε κατι γρηγορο και αξιοπιστο και βαση αυτης της λογικης ("κατι στα γρηγορα και να δουλευει") ισως δεν του πολυ-ταιριαζουν τα COM+ και MSMQ, που μπορει να δουλευουν μεν αλλα στην περιπτωση του μου θυμιζει το παραδειγμα ενος που ηθελε μια Ferrari για να την κανει ταξι.

    Να περναει τιμες απο το ενα στο αλλο θελει ο ανθρωπος.

    Τελος παντων, περι ορεξεως...
    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems