koyan Δημοσ. 14 Απριλίου 2003 Δημοσ. 14 Απριλίου 2003 Καλησπέρα, Θέλω να φτιάξω μία εφαρμογή server-client σε Delphi, η οποία να χρησιμοποιεί tcp/ip. Έχω δημιουργήσει τα δικά μου data types (τα οποία είναι αρκετά πολύπλοκα). Ορίζω αυτά τα data types και στο server και στο client. Υπάρχει κανένα component, που να κάνει επικοινωνία μέσω tcp/ip και να μπορεί και να στείλει user defined data types? Ευχαριστώ. Κωνσταντίνος
damn3 Δημοσ. 14 Απριλίου 2003 Δημοσ. 14 Απριλίου 2003 Δεν έχω ακούσει να υπάρχει κάποιο comp που να κάνει αυτό που ζητάς. Απ'την άλλη μπορείς να δουλέψεις με pointers των data types που θες, και να μεταφέρεις εκεί το buffer από ένα απλό tcp/ip comp.
GrMikeD Δημοσ. 14 Απριλίου 2003 Δημοσ. 14 Απριλίου 2003 nai, uparxoun ta components TClientSocket kai TServerSocket pou leitourgoun se TCP kai kanoun akrivws auto pou thes,. Boreis mesw auton na stelneis kai na lambaneis streams sugxrona i asugxrona. Des to help tis delphi gia references kai ta demos gia paradeigmata.
GrMikeD Δημοσ. 14 Απριλίου 2003 Δημοσ. 14 Απριλίου 2003 Eeee sugnwmi, den proseksa kala auto pou zitas. Odws to na to kaneis me sockets einai belas, giati prepei na ftiakseis ena kala orismeno prwtokolo epikoinwnias pou na metatrepei ston server tin pliroforia twn domwn se stream kai o client na metafrazei to stream se domes pali. Auto pou xreiazesai,einai kati pou meletaw teleutaia: Web services kai SOAP. Nomizw oti ama exeis mia apo tis teleutaies ekdoseis tis Delphi, diathetoun SOAP components. Me autin tin texnologia, boreis na ftiakseis katanemimena spftware components pou na basizodai se epikoinwnia mesw HTTP kai XML prwtokolo. Gia perissoteres plirofories, des kanena help.
apoc Δημοσ. 14 Απριλίου 2003 Δημοσ. 14 Απριλίου 2003 νομιζω οτι τα web services σε αυτη την περιπτωση ειναι σαν να προσπαθεις να χτυπησεις μια μυγα με ενα κανονι! Πιστευω οτι: 1.Διαβασε το documentation της Delphi για τα TClient/Server Socket . 2.προσπαθησε να ορισεις εναν απλοικο τροπο επικοινωνιας των 2 πλευρων.Καποια πολυ απλα command px LOGIN, EXIT, SENDMESSAGE ktl ktl.. 3.Welcome to the world of network programming. Το μονο που πρεπει να προσεχεις ειναι οτι οταν γραφεις στο socket τα datatypes σου θα πρεπει να τα γραφεις σπασμενα στους απλους τυπους που εχουν βασιστει και στην συνεχεια η καθε πλευαρα που τα διαβαζει να συλλεγει τις πληροφοριες και να σχηματιζει το αντιστοιχο data -type. ΠΡΟΣΟΧΗ ------- Σε περιπτωση που δεν ξερεις τι εστι socket, κα πως δουλευουν..ΣΤΑΜΑΤΑ, και ψαξε για πληροφοριες πανω στην φυσιολογια του socket programming. Πιστεψε ειναι μια φοβερη εμπειρια να καταλαβεις και να δουλευεις τετοιους μηχανισμους μιας και αργοτερα θα σου δωσουν την ευκαιρια να επεκτινεις τις δραστηριοτητες σου References: http://bdn.borland.com/article/0,1410,26276,00.html
damn3 Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 apoc said:[..]http://bdn.borland.com/article/0,1410,26276,00.html[..] Products: Borland C++ Builder 5.x Δεν είναι βιώσιμος ο κώδικας εάν χρησιμοποιήσει απλοϊκούς τρόπους, και γιατί να ξανα-εφεύρει τον τροχό? ------------------------ koyan : για να λες πως είναι αρκετά πολύπλοκα να φανταστώ πάνω από 1000? με pointers πιστεύω πως κάτι θα κάνεις. GrMikeD : SOAP και WebServices έχουν η enterprise έκδοση του Delphi 6 και οι pro, ent και arch του Delphi 7. Ίσως να έχει κάποια πιο παλιά έκδοση, δεν μας διευκρίνησε ποια έκδοση έχει. Πολύ πιθανό να μπορέσει να το υλοποιήσει και μέσω αυτών των τεχνολογιών. XML Components έχει και η διανομή Jedi VCL/JCL ( http://www.delphi-jedi.org/ ) εάν έχεις κάποια έκδοση που δεν έχει XML comp κτλ( υπάρχουν και δωρεάν wizards για webservices ), δοκιμασμένα με ικανοποίησαν πλήρως σε βαθμό που δεν το περίμενα προσθέτουν στον τελικό κώδικα 90-100kb αντί για 300-500kb (και λίγα λέω) για τα standar DOM XML comp του Delphi. Ξανακάνε πάλι την ερώτησή σου εδώ δες και εδώ
koyan Δημοσ. 15 Απριλίου 2003 Μέλος Δημοσ. 15 Απριλίου 2003 Οκ. Απαντώντας ένα ένα: GrMikeD: "nai, uparxoun ta components TClientSocket kai TServerSocket pou leitourgoun se TCP". - Αρχικά ξεκίνησα να το κάνω TClient/Server Socket. Έχω ήδη προχωρήσει αρκετά, αλλά το όλο πρόβλημα είναι ότι αισθάνομαι ότι όντως ξαναεφευρίσκω τον τροχό: Πρέπει να δημιουργήσω ένα σωρό πρωτόκολα επικοινωνίας κάνοντας ουσιαστικά την δουλειά μου μη "μοιράσιμη" με άλλους προγραμματιστές, και το κατάλαβα αυτό the hard way Γι'αυτό και ψάχνω να βρώ εάν κάποιος έχει κάνει κάτι παρόμοιο. GrMikeD: "Auto pou xreiazesai,einai kati pou meletaw teleutaia: Web services kai SOAP" Δεν είχα ξαναακούσει για το SOAP. Και ένα απλό ψάξιμο στο "http://www.w3.org/TR/SOAP/" το δείχνει πολύ ενδιαφέρον. Δεν είδα κάτι για TCP αλλά θα συνεχίσω να ψάχνω. damn3: Χρησιμοποιώ Delphi 5. Οι παραπάνω πληροφορίες με οδήγησαν σε ψάξιμο που με οδήγησε στο ASTA technologies. Δεν ξέρω εάν τελικά θα κάνει αυτό που θέλω, αλλά θα το δοκιμάσω. Σας ευχαριστώ όλους για τις απαντήσεις Be well and prosper, Koyan
GrMikeD Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 ASTA components? ksereis kostizoun poli... Ypothetw oti ta kaneis ola auta gia logariasmo etairias? Giati ta ASTA an kai den ta exw xrisimopoiisei pote, exw akousei oti einai megali istoria. Padws o DAMN3 exei dikio, isws tha borouses na ta kaneis me XML components pou tha to dimiourgeis apo tin mia pleura, kai stin alli na to kaneis parse gia na gemiseis tis domes.
koyan Δημοσ. 15 Απριλίου 2003 Μέλος Δημοσ. 15 Απριλίου 2003 "ASTA components? ksereis kostizoun poli... Ypothetw oti ta kaneis ola auta gia logariasmo etairias? ". Oxi akrivos, alla ean xreiastei mporoun na plirothoun... Bebaios panta tha protimousa open source components, me tin anesi meta na mporo na doso oti ftiakso san open source se opoion thelei na to xrisimopoiisei.... Anyway: den exo paixei katholou me XML components. Tha to psakso kai afto. Efxaristo Koyan
apoc Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 koyan said: Οκ. Απαντώντας ένα ένα: Δεν είχα ξαναακούσει για το SOAP. Και ένα απλό ψάξιμο στο "http://www.w3.org/TR/SOAP/" το δείχνει πολύ ενδιαφέρον. Δεν είδα κάτι για TCP αλλά θα συνεχίσω να ψάχνω. Τα Web services ειναι τυπικα transport portocol neutral. μπορεις να τα υλοποιησεις απο απλο socket μεχτι και SMTP. Συνηθως βεβαια η κλασικη υλοποιηση ειναι το HTTP με οτι αυτο σημαινει. Παρολα αυτα μπορεις να κανεις αυτο που εγω ονομαζω λυση SOAP μεσω Λαμιας! (Αν πραγματικα νομιζεις οτι το SOAP ειναι λυση για σενα) Προσωπικα θα χρησιμοποιουσα plain XML θα οριζα..ενα προτοκολο για μενα...και θα το εστελνα δεξια και αριστερα μεσα απο τα sockets. Θα ηθελα να ξερω αν οι πλευρες που θα μιλανε μεταξυ τους ειναι ιδιας πλατοφορμας! Γιατι εκει ισως τa dataencoding rules kai oi de/serializers που προσφερουν τα διαφορα libraries σου κανουν ην ζωη πιο ευκολη! Παρολα επειδη η XML ειναι XML και μπορεις να περιγραψεις τα παντα , μπορεις να αυτοσχεδιασεις! Το SOAP δεν ειναι η απαντηση σε ολα ειδικα σε τετοιες περιπτωσεις..το λεει και το ονομα του Simple Object Access Protocol με φανεργ ταση προς RPC (αν και τυπικα μπορεις να κανεις οτι θελεις) . παλιοτερα ειχαμε αρχησει μια προσπαθεια που προς το παρον εχει παγωσει να φιαξουμε ενα messenger για την κοινοτητα.ειχαμε αποφασισει οτι το προτοκολο επικοινωνιας θα βασιζοταν σε XML. Ειχα γραψει τοτε...ενα κομματι του προτοκολου ουσιαστικα οριζα τα commands σε XML δεν ξερω αν μπορει να σε βοηθησει ..θα το βρεις εδω ¨ http://www.members.tripod.com/apoc_gr/Docs/IMCommProt.htm
koyan Δημοσ. 15 Απριλίου 2003 Μέλος Δημοσ. 15 Απριλίου 2003 Ο Apoc έγραψε: "Θα ηθελα να ξερω αν οι πλευρες που θα μιλανε μεταξυ τους ειναι ιδιας πλατοφορμας! " Αρχικά θα είναι (server side) Kylix με (client side) Delphi/Kylix. ... Χωρίς να θέλω να σε φορτώσω με άχρηστες πληροφορίες: ουσιαστικά θέλουμε να κάνουμε μετατροπή της stand alone εφαρμογής που έχουμε φτιάξει σε server/client. Δεδομένου δε, ότι η τάση σε όλη την οργάνωση (Greenpeace) είναι να μεταφερόμαστε σε Linux σιγά σιγά, θέλουμε (η ομάδα μου και εγώ) να φτιάξουμε το server σε Linux, και να έχουμε τα UI και σε Linux και σε Win. Δεδομένου δε ότι χρειαζόμαστε πολλές φορές να κάνουμε δουλειά remotelly, θέλαμε να κάνουμε εξ αρχής την εφαρμογή να είναι βασισμένη σε tcp/ip. Και έτσι κατέληξα σε αυτές τις ερωτήσεις. Ευχαριστώ για τις πληροφορίες και τις απόψεις, Koyan
Γηρυόνης Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 Χωρίς να ξέρω Delphi λογικά οι customed τύποι δεδομένων πρέπει να μεταφέρονται μέσω TCP/IP με τον ίδιο τρόπο όπως και τα υπόλοιπα.
apoc Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 το kylix Πραγματι παιζει καλα..ειναι καλο εργαλειο. εφοσον λοιπον εχουμε Delphi να μιλαει σε Delphi. Το μονο που πρεπει να κανετε ειναι να παρετε τον κωδικα του server..να τον ριξετε στο Kyliz, Και να αρχησετε να βλεπετε σε ποια σημεια θελει αλλαγες εξαιτιας πλατοφορμας. Εχω δει τετοια επιχειρηματα και με σωστη δουλεια παιξανε πολυ καλα! αυτο που θες να προσεξεις ειναι οτι τα sockets ειναι λιγο διαφορετικα στο Linux,.τα semaphores Και το threading! Thats it!
GrMikeD Δημοσ. 15 Απριλίου 2003 Δημοσ. 15 Απριλίου 2003 uparxei ena freeware nomizw component tis Delpgi to QuickRTTI to opoio borei na sou swsei ta objects sou se XML kai meta na ksanafortosei ta object apo XML! opote isws boreis na xrisimopoiiseis auto to XML gia protokolo. Exw dei na to xrisimopioune gia analogo skopo. Psakse sto google.
damn3 Δημοσ. 16 Απριλίου 2003 Δημοσ. 16 Απριλίου 2003 http://www.adug.org.au/meetings/Symposia/2002/IndySoapOverviewView.pdf http://www.adug.org.au/meetings/Symposia/2002/IndySoapTutorialView.pdf http://people.zeelandnet.nl/famboek/delphi/xmlserializer.html
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.