<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22867.aspx</link><pubDate>Thu, 28 Dec 2006 22:41:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22867</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22867.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22867</wfw:commentRss><description>&lt;P&gt;To network programming δεν είναι κάτι απλό - το πάραδειγμα που έδωσες ουσιαστικά περιγράφει τον τρόπο που προσπαθείς να υλοποιήσεις εσύ την λύση του προβλήματος. Καταλαβαίνεις, ότι όταν δεν ξέρουμε το πρόβλημα δεν μπορούμε να σου δώσουμε την καλύτερη λύση.&lt;/P&gt;
&lt;P&gt;Παρόλα αυτά, πρώτα πρέπει να κατανοήσεις τον τρόπο που δουλεύει μια TCP επικοινωνία, για να&amp;nbsp;μπορέσεις να το κάνεις την υλοποίηση:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ο server κάνει listen σε κάποιο συγκεκριμένο port - πρέπει να έχει καθοριστεί ο αριθμός του port.&lt;/LI&gt;
&lt;LI&gt;Ο&amp;nbsp;client μπορεί να κάνει request στον server για να συνδεθεί στο συγκεκριμένο port - πρέπει να ξέρει την διεύθυνση του server και το port που θέλει να συνδεθεί. &lt;/LI&gt;
&lt;LI&gt;Ο server έχει τις εξής επιλογές εκείνη την στιγμή: &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;να ανοίξει την επικοινωνία στο ίδιο port που κάνει listen για να λάβει δεδομένα, 
&lt;LI&gt;να ανοίξει ένα άλλο νέο port, να προωθήσει το request στο&amp;nbsp;νέο port&amp;nbsp;και να ανοίξει την επικοινωνία στο&amp;nbsp;νέο port, 
&lt;LI&gt;να απορρίψει το request&amp;nbsp;και να μην έχουμε ποτέ επικοινωνία&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Αν υποθέσουμε ότι ο server ανοίξει ένα port, τότε δέχεται τα δεδομένα που στέλνει ο client.&lt;/LI&gt;
&lt;LI&gt;Ο αριθμός των read των δεδομένων που φτάνουν στο port του server, μπορεί να είναι παραπάνω από 1 - μπορεί να χρειαστεί να γίνουν πολλαπλά reads για να διαβαστούν τα δεδομένα που θα φτάσουν - το μέγεθος των δεδομένων που φτάνουν στο port, εξαρτάται από το MTU του δικτύου, συνήθως 1500 ή μικρότερο αν μιλάμε για Ethernet δίκτυα που παίζουν μέ NAT ή VPN και ακόμη μικρότερο, γύρω στα 500 αν δεν κάνω λάθος, για δίκτυα πάνω από τηλέφωνο.&lt;/LI&gt;
&lt;LI&gt;Αφού ο server, λάβει όλα τα δεδομένα - συνήθως το καταλαβαίνει από κάποια ακολουθία χαρακτήρων/bytes στα δεδομένα που φτάνουν - τα επεξεργάζεται και στέλνει την απάντησή του από το port που έχει κάνει την λήψη των δεδομένων.&lt;/LI&gt;
&lt;LI&gt;Κανονικά σε μια TCP διαδικασία, αφού θα έκλεινε μια ακολουθία αποστολής/απάντησης, ο server θα κλείσει αυτόματα το port που άκουσε/απάντησε.&lt;/LI&gt;
&lt;LI&gt;Ο client όταν καταλάβει ότι ο server του έκλεισε το port θα κλείσει και αυτός το δικό του, και τότε η επικοινωνία έχει τελιώσει&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Φαντάζομαι, ότι καταλαβαίνεις ότι να ζητάς να υλοποιήσεις κάτι τέτοιο δεν είναι απλό, του στυλ άνοιξε/διάβασε/απάντησε/κλείσε.&lt;/P&gt;
&lt;P&gt;Παραδείγματα των παραπάνω μπορείς να βρεις στο MSDN, για το server κομμάτι στο &lt;A href="http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx"&gt;TcpListener Class&lt;/A&gt;, ενώ για το client κομμάτι στο &lt;A href="http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx"&gt;TcpClient Class&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Αν θέλεις να φτιάξεις κάτι που θα έχει αξιόπιστη επικοινωνία, καλύτερα να χρησιμοποιήσεις ένα application protocol - το http&amp;nbsp;για παράδειγμα&amp;nbsp;και ένα webservice&amp;nbsp;- που λύνει από μόνο του το πρόβλημα της υλοποίησης της TCP επικοινωνίας. Έτσι εσύ θα μπορείς να ασχοληθείς με τα δεδομένα που λαμβάνονται, πως θα επεξεργαστούν, και τι θα περιέχει η απάντηση του server.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;/P&gt;</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22843.aspx</link><pubDate>Thu, 28 Dec 2006 02:12:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22843</guid><dc:creator>VirusX2</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22843.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22843</wfw:commentRss><description>δεν εχω ξανακανει network programming. μπορεις να μου προτεινεις καπια e-books??</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22842.aspx</link><pubDate>Thu, 28 Dec 2006 01:36:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22842</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22842.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22842</wfw:commentRss><description>Αν κατάλαβα καλά .. θες να φτιάξεις ένα remote desktop ... χωρίς το user interface ???&lt;br /&gt;
&lt;br /&gt;
Κάτι τέτοιο είναι πολύ πολύ πολύ δύσκολο και το winsock δεν είναι η λύση σου μάλλον. Σε περίπτωση που όμως θες κάτι πιο απλό, όπως π.χ. να μεταφέρεις string/binary μηνύματα πέρα δώθε, τότε ναι, τα sockets θα βοηθήσουν. &lt;br /&gt;
&lt;br /&gt;
Τι "προϋπηρεσία" έχεις σε network programming ? Νομίζω οτι πρέπει να κάνεις ένα μικρό διάβασμα στο τι είναι socket, connection σε remote pc, κτλ κτλ. για να καταλάβεις τις δυνατότητες της πλατφόρμας ( το ότι ας πούμε δε χρειάζεται να κάνεις mport το wisock control για να έχεις υποστήριξη για networking στο .NET ), και τί ακριβώς σου δίνει αυτή ως λειτουργικότητα ( το ότι οτιδήποτε γράφεις μέσα σε ένα .send(...) method δεν εκτελείται στο server ας πούμε )&lt;br /&gt;
&lt;br /&gt;
Δεν μας γράφεις πιο αναλυτικά τι ακριβώς είναι αυτό που θες να κάνεις ;</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22830.aspx</link><pubDate>Wed, 27 Dec 2006 22:57:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22830</guid><dc:creator>VirusX2</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22830.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22830</wfw:commentRss><description>λοιπον, βαζω reference to αρχείο winsock_control.dll  και μετά γραφω&lt;br /&gt;
&lt;br /&gt;
friend withevents client as new winsock_control.winsock&lt;br /&gt;
&lt;br /&gt;
μετα στο form_load γραφω&lt;br /&gt;
&lt;br /&gt;
client.connect("
&lt;br /&gt;
client.send(msgbox("message"))&lt;br /&gt;
&lt;br /&gt;
αλλα το μηνυμα εμφανιζετε στο δικο μου pc και οχι στο remote...&lt;br /&gt;
&lt;br /&gt;
στο remote pc τρεχει το αλλο μερος τισ εφαρμογης που εχει στο from_load:&lt;br /&gt;
&lt;br /&gt;
client.localport=&lt;br /&gt;
&lt;br /&gt;
client.listening&lt;br /&gt;
&lt;br /&gt;
τι κανο λαθος?</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22823.aspx</link><pubDate>Wed, 27 Dec 2006 19:16:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22823</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22823.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22823</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;VirusX2 wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Δεν καταλαβα και πολλα. Αθτο που θέλω εινε να μπορει ο client να επικινονισει με τον server. Να τρεξει μια εφαρμογη στο απομακρισμενο υπολογιστη για παραδειγμα.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Αυτό που περιγράφεις είναι πολύ γενικό. Υπάρχουν πολλές μέθοδοι για να εκτελέσεις κώδικα σε ένα remote μηχάνημα. Τι ακριβώς έχεις στο μυαλό σου; Έχεις κάποιο παράδειγμα/πρόγραμμα που δουλεύει με τον τρόπο που θέλεις, να μας το περιγράψεις για να καταλάβουμε τι θέλεις να κάνεις;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22820.aspx</link><pubDate>Wed, 27 Dec 2006 19:02:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22820</guid><dc:creator>VirusX2</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22820.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22820</wfw:commentRss><description>Δεν καταλαβα και πολλα. Αθτο που θέλω εινε να μπορει ο client να  επικινονισει με τον server. Να τρεξει μια εφαρμογη στο απομακρισμενο υπολογιστη για παραδειγμα.&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Απ: Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22819.aspx</link><pubDate>Wed, 27 Dec 2006 18:27:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22819</guid><dc:creator>nsouflis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22819.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22819</wfw:commentRss><description>Αυτό που ίσως ζητάς ονομάζεται Remoting και μπορείς να βρείς παραδείγματα &lt;a href="http://msdn2.microsoft.com/en-US/library/1t63e8ff%28VS.80%29.aspx"&gt;εδώ &lt;/a&gt;και &lt;a href="http://www.codeproject.com/vb/net/Remoting_HelloWorld.asp"&gt;εδώ&lt;/a&gt;&amp;nbsp; . &lt;br&gt;Καί ένα overview του &lt;a href="http://msdn2.microsoft.com/en-us/library/kwdt6w2k%28VS.80%29.aspx"&gt;εδώ &lt;/a&gt;&lt;br&gt;&lt;br&gt;Κύταξε τα παραδείγματα και αν δεν σε καλύπτουν εδώ είμαστε . &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Δημιουργία client/server communication με winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22817.aspx</link><pubDate>Wed, 27 Dec 2006 18:05:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22817</guid><dc:creator>VirusX2</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22817.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=22817</wfw:commentRss><description>Γειά σας,&lt;br&gt;&lt;br&gt;θα
ήθελα τη βοήθεια σας σχετικά με με μία εφαρμογή που θέλω να
δημιουργήσω. Θέλω να μου δήξετε πως μπορώ να κανω τον client να
εποικινωνισει με τον server μεσω winsock. εχω κανει πολλες αποπιρεσ
αλλα....τπτ&lt;br&gt;&lt;br&gt;Αν γινετε θα ηθελα το παραδειγμα να ειναι σε Visual BAsic 2005&lt;br&gt;&lt;br&gt;Ευχαριστω</description></item></channel></rss>