<?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>Visual Basic 6.0</title><link>https://www.dotnetzone.gr:443/cs/forums/25/ShowForum.aspx</link><description>Θέματα που αφορούν την VB6 και COM components</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14770.aspx</link><pubDate>Sat, 15 Jul 2006 06:12:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14770</guid><dc:creator>Xlomo_prosopo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14770.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14770</wfw:commentRss><description>Χε Χε Χε !!!! Για δες που οι εντολές που δεν κάνουν τίποτα, κάνουν τη διαφορά !!!!&lt;br /&gt;
&lt;br /&gt;
Μάθαμε κάτι πάλι σήμερα ! Ευχαριστώ gcapnias, papadi για το σεμινάριο !</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14705.aspx</link><pubDate>Fri, 14 Jul 2006 05:37:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14705</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14705.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14705</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;Xlomo_prosopo 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;&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;gcapnias 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;&lt;BR&gt;Το θέμα είναι ότι είσαι μέσα σε ένα event. Θα πρότεινα να αντικαταστήσεις το MsgBox με ένα DoEvents, να δεις αν θα βελτιώσει την κατάσταση.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;Που μπορώ να βρω πως λειτουργεί και παραδείγματα χρήσης DoEvents;&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;Η DoEvents, ουσιαστικά δεν κάνει τίποτα! &lt;img src="/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt; Απλά μεταφέρει στιγμιαία τον έλεγχο από το πρόγραμμά σου στο λειτουργικό σύστημα, για να μπορέσουν να εκτελεστούν άλλες εργασίες. Είναι απαραίτητο όταν εκτελείς σε βρόγχους εργασίες και δεν αφήνουν τα υπόλοιπα events να δουλέψουν. Η βιογραφία της εντολής και παράδειγμα μπορεί να βρεθεί &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctdoevents.asp"&gt;εδώ&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;Ο κώδικάς σου με την DoEvents θα πρέπει να γίνει κάπως έτσι:&lt;/P&gt;
&lt;P&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Private&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Sub&lt;/span&gt; ws_server_DataArrival(index &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Integer&lt;/span&gt;, &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;ByVal&lt;/span&gt; bytesTotal &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Long&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; message &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; i &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;msgbox&lt;/span&gt;(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;"Sending message to clients"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;ws_server(index).GetData message&lt;br /&gt;&lt;br /&gt;txt_chat.Text &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; txt_chat.Text &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;+&lt;/span&gt; message &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;+&lt;/span&gt; vbNewLine&lt;br /&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;For&lt;/span&gt; i &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; 0 &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;To&lt;/span&gt; ws &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;-&lt;/span&gt; 1&lt;br /&gt;    ws_server(i).SendData message&lt;br /&gt;    DoEvents&lt;br /&gt;    txt_log.Text &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; txt_log.Text &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;+&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;"Sending Message to "&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;+&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;CStr&lt;/span&gt;(ws_server(i).RemoteHostIP) &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;+&lt;/span&gt; vbNewLine&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Next&lt;/span&gt; i&lt;br /&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;End&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&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>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14676.aspx</link><pubDate>Thu, 13 Jul 2006 22:49:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14676</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14676.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14676</wfw:commentRss><description>&lt;P&gt;αφού, όπως φαίνεται, δεν έχεις αρκετή εμπειρία στην VB6, θα έλεγα πως δεν αξίζει να ψάχνεις και να διαβάζεις άρθρα γι αυτήν, εκτός και αν σου έχει θέσεις κανείς την VB6 ως προϋπόθεση. Διαφορετικά θα έλεγα να δοκιμάσεις να το κάνεις σε VB7 ή 8 (.NET 1.1 ή .NET 2.0 αντίστοιχα). Θα βρεις πολλά έτοιμα παραδείγματα εφαρμογών chat.&lt;/P&gt;</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14670.aspx</link><pubDate>Thu, 13 Jul 2006 21:47:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14670</guid><dc:creator>Xlomo_prosopo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14670.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14670</wfw:commentRss><description>&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;papadi 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;&lt;br&gt;

Δοκίμασε να φιάξεις μια κλάση που θα περιέχει ένα winsock και να
λαμβάνεις εκεί τα events. Αντί για το control array που έχεις τώρα, θα
έχεις ένα collection από κλάσεις. Θα ξεμπερδέψεις λίγο τα πράγματα, μια
που το κάθε winsock θα στέλνει τα events του σε διαφορετικό instance.&lt;br&gt;

&lt;p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Έχεις να προτείνεις URL που να περιγράφει Collection και Κλάσεις ;&lt;br&gt;
&lt;/p&gt;

&lt;br&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;gcapnias 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;&lt;br&gt;
Το θέμα είναι ότι είσαι μέσα σε ένα event. Θα πρότεινα να
αντικαταστήσεις το MsgBox με ένα DoEvents, να δεις αν θα βελτιώσει την
κατάσταση.&lt;br&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;Που μπορώ να βρω πως λειτουργεί και παραδείγματα χρήσης DoEvents;&lt;br&gt;</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14638.aspx</link><pubDate>Thu, 13 Jul 2006 03:20:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14638</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14638.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14638</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;Xlomo_prosopo 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;&lt;BR&gt;Η διαφορά στον κώδικα είναι μόνο το msgbox, τa ws_server(index) είναι Winsock και το ws είναι μετριτής τους, κάθε ένα απο τα ws_server είναι συνδεδεμένο με ένα διαφορετικό client μέσω του ίδιου PORT (4444) . Στην πρώτη συνάρτηση το message στέλνεται μόνο στο client που είναι συνδεδεμένο με το ws_server με το μεγαλύτερο index ενώ στη δεύτερη στέλνεται σε όλους ανεξερέτως ! το ίδιο θα συμβεί και αν το msgbox μπει μέσα στο for !!!! Και η ερώτησή μου είναι : Τι διαφορά κάνει το Msgbox ?? και με τι μπορώ να το αντικαταστήσω για να έχω το ίδιο αποτέλεσμα ?&lt;BR&gt;&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;Το θέμα είναι ότι είσαι μέσα σε ένα event. Θα πρότεινα να αντικαταστήσεις το MsgBox με ένα DoEvents, να δεις αν θα βελτιώσει την κατάσταση.&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>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14630.aspx</link><pubDate>Wed, 12 Jul 2006 20:49:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14630</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14630.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14630</wfw:commentRss><description>και για να μην σου μπαίνουν ιδέες, ακριβώς έτσι δουλεύει και το winsock στο .NET. Η διαφορά είναι ότι στο .NET υπάρχει και winsock κλάση, οπότε δεν χρειάζεται να έχεις μια φόρμα ως container.</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14629.aspx</link><pubDate>Wed, 12 Jul 2006 20:46:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14629</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14629.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14629</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;Xlomo_prosopo 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 winsock είναι συνδεδεμένο σε ένα από τα server winsock. Κάθε φορά που ένα client στέλνει δεδομένα, αυτά λαμβάνονται μόνο από τον server στον οποίο συνδέθηκε. θέλω κάθε φορά που τα δεδομένα φτάνουν σε κάποιον server όλοι οι server να τα στέλνουν στα client winsock που είναι συνδεδεμένα σε αυτούς. Από ό,τι έχω καταλάβει μέχρι τώρα, αν γίνει αποστολή από ένα server χωρις να ολοκληρωθεί η αποστολή του προιγούμενου τότε η αποστολή του προηγούμενου ακυρώνεται !!! εκτώς αν μπει το MsgBox ίσως γιατί έτσι γίνεται μια καθυστέρηση.&lt;BR&gt;&lt;BR&gt;Το πρόβλημα το έλυσα κάπως με το event SendComplete(index ....) στο οποίο κάνω send τα δεδομένα του winsock (index + 1) , αλλά αυτό μου δημιουργεί άλλες δυσκολίες και κάνει πιο δυσνόητο το πρόγραμμα.&lt;/P&gt;
&lt;P&gt;&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;Δοκίμασε να φιάξεις μια κλάση που θα περιέχει ένα winsock και να λαμβάνεις εκεί τα events. Αντί για το control array που έχεις τώρα, θα έχεις ένα collection από κλάσεις. Θα ξεμπερδέψεις λίγο τα πράγματα, μια που το κάθε winsock θα στέλνει τα events του σε διαφορετικό instance.&lt;BR&gt;&lt;BR&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;Xlomo_prosopo 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;Αν γίνει το DataArival να σπάει ή να χάνει μυνήματα επειδή έφτασαν πολλά ταυτόχρονα, δεν με έχει απασχολήσει ακόμα. Και απο τις δοκιμές δεν έχω δει κάποιο πρόβλημα αν και δεν το δοκίμασα με πολλους χρήστες ενώ στέλνουν ΤΑΥΤΟΧΡΟΝΑ μυνήματα.&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;Θα σε απασχολήσει αν προσπαθήσεις να στείλεις μεγάλα μηνύματα που δεν χωράνει στον buffer του winsock ή αν στείλεις πολλά μικρά μηνύματα διαδοχικά. Τότε θα δεις ότι το&amp;nbsp;arrival&amp;nbsp;event μπορεί να τρέχει περισσότερες φορές από όσα send έκανε η άλλη πλευρά. Επίσης αν η άλλη πλευρά στείλει μικρά μηνύματα που χωράνε μαζί στον buffer και τα στείλει πολύ γρήγορα με δυο διαδοχικά send, το arrival event μπορεί να τρέξει μόνο μια φορά!&lt;/P&gt;</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14628.aspx</link><pubDate>Wed, 12 Jul 2006 20:09:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14628</guid><dc:creator>Xlomo_prosopo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14628.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14628</wfw:commentRss><description>Αυτό ακριβώς προσπαθώ να κάνω. Κάθε client winsock είναι συνδεδεμένο σε ένα από τα   server winsock. Κάθε φορά που ένα client στέλνει δεδομένα, αυτά λαμβάνονται μόνο από τον server στον οποίο συνδέθηκε. θέλω κάθε φορά που τα δεδομένα φτάνουν σε κάποιον server όλοι οι server να τα στέλνουν στα client winsock που είναι συνδεδεμένα σε αυτούς. Από ό,τι έχω καταλάβει μέχρι τώρα, αν γίνει αποστολή από ένα server χωρις να ολοκληρωθεί η αποστολή του προιγούμενου τότε η αποστολή του προηγούμενου ακυρώνεται !!! εκτώς αν μπει το MsgBox ίσως γιατί έτσι γίνεται μια καθυστέρηση.&lt;br /&gt;
&lt;br /&gt;
Το πρόβλημα το έλυσα κάπως με το event SendComplete(index ....) στο οποίο κάνω send τα δεδομένα του winsock (index + 1)  , αλλά αυτό μου δημιουργεί άλλες δυσκολίες και κάνει πιο δυσνόητο το πρόγραμμα.&lt;br /&gt;
&lt;br /&gt;
Αν γίνει το DataArival να σπάει ή να χάνει μυνήματα επειδή έφτασαν πολλά ταυτόχρονα, δεν με έχει απασχολήσει ακόμα. Και απο τις δοκιμές δεν έχω δει κάποιο πρόβλημα αν και δεν το δοκίμασα με πολλους χρήστες ενώ στέλνουν ΤΑΥΤΟΧΡΟΝΑ μυνήματα.</description></item><item><title>Απ: Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14625.aspx</link><pubDate>Wed, 12 Jul 2006 18:36:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14625</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14625.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14625</wfw:commentRss><description>Θα κάνω μια προσπάθεια να απαντήσω. Διόρθωσέ με αν κάνω κάπου λάθος, γιατί έχω καιρό να ασχοληθώ με winsock.&lt;br /&gt;
&lt;br /&gt;
Το πρόβλημα που έχεις νομίζω ότι έχει να κάνει με την λήψη στον server και όχι με την αποστολή στους client. Βλέπω ότι ο κώδικας είναι μέσα στο DataArrival του server. Πρόκεται για chat εφαρμογή αν δεν κανω λάθος, όπου κάνεις broadcast ένα μήνυμα που παίρνεις από ένα client προς όλους τους υπόλοιπους;&lt;br /&gt;
&lt;br /&gt;
Ο τρόπος που δουλεύει το DataArrival είναι λίγο διαφορετικός από ένα απλό event. Ουσιαστικά δεν διασφαλίζεται κάπου ότι το μήνυμά σου θα φτάσει σε ένα event ή σε περισσότερα ή αν το event περιλαμβάνει ένα μήνυμα ή περισσότερα.&lt;br /&gt;
&lt;br /&gt;
Δώσε μερικά ακόμα στοιχεία για τον κώδικα μήπως και βοηθήσουν.</description></item><item><title>Περίεργη συμπεριφορά Winsock</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/14480.aspx</link><pubDate>Fri, 07 Jul 2006 02:22:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:14480</guid><dc:creator>Xlomo_prosopo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/14480.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=14480</wfw:commentRss><description>Πια ειναι η διαφορά των συναρτήσεων :&lt;br&gt;
&lt;br&gt;
Private Sub ws_server_DataArrival(index As Integer, ByVal bytesTotal As Long)&lt;br&gt;
Dim message As String&lt;br&gt;
Dim i As Integer&lt;br&gt;
&lt;br&gt;
ws_server(index).GetData message&lt;br&gt;
&lt;br&gt;
txt_chat.Text = txt_chat.Text + message + vbNewLine&lt;br&gt;
&lt;br&gt;
For i = 0 To ws - 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ws_server(i).SendData message&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txt_log.Text = txt_log.Text + "Sending Message to " + CStr(ws_server(i).RemoteHostIP) + vbNewLine&lt;br&gt;
Next i&lt;br&gt;
&lt;br&gt;
End Sub&lt;br&gt;
&lt;br&gt;
και&lt;br&gt;
Private Sub ws_server_DataArrival(index As Integer, ByVal bytesTotal As Long)&lt;br&gt;
Dim message As String&lt;br&gt;
Dim i As Integer&lt;br&gt;
&lt;br&gt;
msgbox("Sending message to clients")&lt;br&gt;
&lt;br&gt;
ws_server(index).GetData message&lt;br&gt;
&lt;br&gt;
txt_chat.Text = txt_chat.Text + message + vbNewLine&lt;br&gt;
&lt;br&gt;
For i = 0 To ws - 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ws_server(i).SendData message&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txt_log.Text = txt_log.Text + "Sending Message to " + CStr(ws_server(i).RemoteHostIP) + vbNewLine&lt;br&gt;
Next i&lt;br&gt;
&lt;br&gt;
End Sub&lt;br&gt;
&lt;br&gt;
Η διαφορά στον κώδικα είναι μόνο το msgbox, τa ws_server(index) είναι
Winsock και το ws είναι μετριτής τους, κάθε ένα απο τα ws_server είναι
συνδεδεμένο με ένα διαφορετικό client μέσω του ίδιου PORT (4444) . Στην
πρώτη συνάρτηση το message στέλνεται μόνο στο client που είναι
συνδεδεμένο με το ws_server με το μεγαλύτερο index ενώ στη δεύτερη
στέλνεται σε όλους ανεξερέτως ! το ίδιο θα συμβεί και αν το msgbox μπει
μέσα στο for !!!! Και η ερώτησή μου είναι : Τι διαφορά κάνει το Msgbox
?? και με τι μπορώ να το αντικαταστήσω για να έχω το ίδιο αποτέλεσμα ?&lt;br&gt;</description></item></channel></rss>