Haros Δημοσ. 31 Οκτωβρίου 2009 Δημοσ. 31 Οκτωβρίου 2009 Γειά σας παιδιά, ασχολούμαι λίγο με tcp server / client στη C# και έχω μια απορία που ελπίζω να μπορείτε να μου τη λύσετε. Βλέποντας κάποια παραδείγματα στο net, παρατήρησα ότι ο client στο stream "γράφει" με την Write, αλλά αντίθετα στο server πρόγραμμα άμα θέλουμε να αποστείλουμε κάτι στον client το κάνουμε μέσω της Send. Η απορία μου είναι γιατί δεν μπορεί να χρησιμοποιηθεί η Send και στις 2 περιπτώσεις; Ευχαριστώ εκ των προτέρων.
teo64x Δημοσ. 31 Οκτωβρίου 2009 Δημοσ. 31 Οκτωβρίου 2009 Σε ένα πρόγραμμα server/client που είχα γράψει, απ' όσο θυμάμαι, είχα χρησιμοποιήσει και στις δύο πλευρές TcpClient. Στον client απλά δημιουργώντας το αντικείμενο, στο server παίρνοντάς το με μια AcceptTcpClient() από έναν TcpListener. Επομένως, χρησιμοποίησα και για server και για client τη Write() του NetworkStream που πήρα από το TcpClient της κάθε πλευράς.
Evgenios1 Δημοσ. 31 Οκτωβρίου 2009 Δημοσ. 31 Οκτωβρίου 2009 Ο σερβερ ειναι με σοκετ? Το Write γενικα ειναι της κασης Stream και ειναι abstract.
Haros Δημοσ. 1 Νοεμβρίου 2009 Μέλος Δημοσ. 1 Νοεμβρίου 2009 ναι με socket είναι, και αυτό παρατήρησα, ότι η write κάνει χρήση της stream. Εφόσον όμως έχει γίνει σύνδεση με socket θεωρώ ότι μπορεί να χρησιμοποιηθεί η send...
Haros Δημοσ. 1 Νοεμβρίου 2009 Μέλος Δημοσ. 1 Νοεμβρίου 2009 Χρησιμοποίησα socket αντί για tcpclient και έτσι δουλεύει με send ο client (αντί για την write). Μια απορία όμως, η πρακτική διαφορά ανάμεσα σε αυτούς τους 2 τρόπους ποιά είναι; Ευχαριστώ.
Evgenios1 Δημοσ. 2 Νοεμβρίου 2009 Δημοσ. 2 Νοεμβρίου 2009 Χρησιμοποίησα socket αντί για tcpclient και έτσι δουλεύει με send ο client (αντί για την write).Μια απορία όμως, η πρακτική διαφορά ανάμεσα σε αυτούς τους 2 τρόπους ποιά είναι; Ευχαριστώ. Socket -> low level TcpClient etc... -> high level.
Haros Δημοσ. 2 Νοεμβρίου 2009 Μέλος Δημοσ. 2 Νοεμβρίου 2009 Κάτι πιο συγκεκριμένο από το high level / low level ; Ευχαριστώ.
Evgenios1 Δημοσ. 2 Νοεμβρίου 2009 Δημοσ. 2 Νοεμβρίου 2009 Με τη socket μπορεις να ελεγχεις το τι μπενει και το τι βγενει απο τον υπολογιστη σου (Τα παντα ολα). Με το TcpClient κανεις οτι μπορεις να κανεις με μια Tcp connection.
teo64x Δημοσ. 2 Νοεμβρίου 2009 Δημοσ. 2 Νοεμβρίου 2009 Δεν έχω χρησιμοποιήσει socket. Φαντάζομαι αυτό που λες σημαίνει ότι είναι πιο δύσκολο να διαχειριστείς πολλές συνδέσεις απ' ό,τι αν το έγραφες με TcpClient;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.