Προς το περιεχόμενο

c# stream write / send


Haros

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σας παιδιά,

 

ασχολούμαι λίγο με tcp server / client στη C# και έχω μια απορία που ελπίζω να μπορείτε να μου τη λύσετε.

 

Βλέποντας κάποια παραδείγματα στο net, παρατήρησα ότι ο client στο stream "γράφει" με την Write, αλλά αντίθετα στο server πρόγραμμα άμα θέλουμε να αποστείλουμε κάτι στον client το κάνουμε μέσω της Send.

 

Η απορία μου είναι γιατί δεν μπορεί να χρησιμοποιηθεί η Send και στις 2 περιπτώσεις;

 

Ευχαριστώ εκ των προτέρων.

Δημοσ.

Σε ένα πρόγραμμα server/client που είχα γράψει, απ' όσο θυμάμαι, είχα χρησιμοποιήσει και στις δύο πλευρές TcpClient. Στον client απλά δημιουργώντας το αντικείμενο, στο server παίρνοντάς το με μια AcceptTcpClient() από έναν TcpListener. Επομένως, χρησιμοποίησα και για server και για client τη Write() του NetworkStream που πήρα από το TcpClient της κάθε πλευράς.

Δημοσ.

ναι με socket είναι, και αυτό παρατήρησα, ότι η write κάνει χρήση της stream. Εφόσον όμως έχει γίνει σύνδεση με socket θεωρώ ότι μπορεί να χρησιμοποιηθεί η send...

Δημοσ.

Χρησιμοποίησα socket αντί για tcpclient και έτσι δουλεύει με send ο client (αντί για την write).

Μια απορία όμως, η πρακτική διαφορά ανάμεσα σε αυτούς τους 2 τρόπους ποιά είναι;

 

Ευχαριστώ.

Δημοσ.
Χρησιμοποίησα socket αντί για tcpclient και έτσι δουλεύει με send ο client (αντί για την write).

Μια απορία όμως, η πρακτική διαφορά ανάμεσα σε αυτούς τους 2 τρόπους ποιά είναι;

 

Ευχαριστώ.

 

Socket -> low level

TcpClient etc... -> high level.

Δημοσ.

Με τη socket μπορεις να ελεγχεις το τι μπενει και το τι βγενει απο τον υπολογιστη σου (Τα παντα ολα). Με το TcpClient κανεις οτι μπορεις να κανεις με μια Tcp connection.

Δημοσ.

Δεν έχω χρησιμοποιήσει socket. Φαντάζομαι αυτό που λες σημαίνει ότι είναι πιο δύσκολο να διαχειριστείς πολλές συνδέσεις απ' ό,τι αν το έγραφες με TcpClient;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...