<?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>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48923.aspx</link><pubDate>Thu, 05 Mar 2009 19:50:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48923</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48923.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48923</wfw:commentRss><description>&lt;P&gt;Αν δημοσιεύσεις τα κομμάτια κώδικα, μπορούμε να δούμε τη διαφορά στην υλοποίηση...&lt;/P&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48921.aspx</link><pubDate>Thu, 05 Mar 2009 19:33:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48921</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48921.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48921</wfw:commentRss><description>εκανα μεταφραση ενα κομματι του προγραμματος σε C# και δουλευει αψογα!!! τωρα γιατι συμβαινει αυτο στην VB.NET δεν μπορω να καταλαβω...&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48792.aspx</link><pubDate>Sat, 28 Feb 2009 21:21:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48792</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48792.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48792</wfw:commentRss><description>δοκιμασα να προσθεσω εικονικες σειριακες θυρες, απλες με software και δουλευουνε μια χαρα.&lt;br&gt;σκεφτηκα μηπως φταιει η επικοινωνια με το δικτυο. ειναι πιθανο να χρειαζεται να κανω import καμμια library για να δουλεψει κατι τετοιο?&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48737.aspx</link><pubDate>Thu, 26 Feb 2009 08:24:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48737</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48737.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48737</wfw:commentRss><description>το ξερω, δε λεω οτι φταιει η&amp;nbsp; System.IO.SerialPort&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48734.aspx</link><pubDate>Thu, 26 Feb 2009 04:56:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48734</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48734.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48734</wfw:commentRss><description>&lt;P&gt;Το tutorial που αναφέρεις δεν χρησιμοποιεί κάποια δικιά του κλάση αλλά την System.IO.SerialPort. Απλά φτιάχνει μία κλάση η οποία βολεύει τον αρθρογράφο και μέσα χρησιμοποιεί την SerialPort.&lt;/P&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48732.aspx</link><pubDate>Thu, 26 Feb 2009 02:37:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48732</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48732.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48732</wfw:commentRss><description>για να επανελθω στο θεμα,&lt;br&gt;χρησιμοποιω το class file απο το εξης tutorial... &lt;a href="http://www.dreamincode.net/forums/showtopic37361.htm"&gt;http://www.dreamincode.net/forums/showtopic37361.htm&lt;/a&gt;&lt;br&gt;η μεθοδος ειναι απλα η openport.&lt;br&gt;επισης, πως μπορω να κανω την επικοινωνια ασυγχρονη? τι αλλαγες χρειαζομαι στον κωδικα?&lt;br&gt;τι μπορει να συμβαινει?&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48400.aspx</link><pubDate>Fri, 13 Feb 2009 08:14:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48400</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48400.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48400</wfw:commentRss><description>Οταν λεω για το class file δεν εννοω την κλαση της VB.NET αλλα την κλαση που εχω βρει και τροποποιησει για τον χειρισμο της καθε σειριακης θυρας. Αρα δε φταιει η .NET κατα τη γνωμη μου.&lt;br&gt;Απλα βρηκα ακομα μια κλαση η οποια εχει κατι σαν συνδεσμους μεταβλητων της κλασης σε στοιχεια του kernel32. αυτο δεν το καταλαβα καλα...&lt;br&gt;Τωρα, με τις θυρες δεν επικοινωνω μεσω BaseStream αλλα κατευθειαν μεσα στο συμβαν SerialDataReceived κανω ReadTo, μεθοδος η οποια μου δουλευει αντιθετα με την ReadExisting. (Timeout=-1 αλλιως εχω προβλημα)&lt;br&gt;Δεν μπορεσα να δω ποιο συγκεκριμενο Error εμφανιζεται, παρα μονο καποιες φορες το debugger με εχει πεταξει στο κομματι κωδικα που χειριζομαι το IO.IOException μεσα στην Try...Catch που χρησιμοποιω.&lt;br&gt;Παντως το DiscardInBuffer το χρησιμοποιω καλου κακου οταν κανω reset τη θυρα, δηλαδη σε καθε exception.&lt;br&gt;Στις σειριακες θυρες εχω βαλει μοντεμ οποτε δε με ενδιαφερει τι θα γινει οταν φυγουνε τα δεδομενα απο τον υπολογιστη...&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48396.aspx</link><pubDate>Fri, 13 Feb 2009 03:22:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48396</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48396.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48396</wfw:commentRss><description>&lt;P&gt;Και στη δική μου περίπτωση έπαιζε σωστά το HyperTerminal! Αλλιώς δεν θα την θεωρούσα κουφή και δεν θα την ανέφερα. &lt;/P&gt;
&lt;P&gt;Όσον αφορά το class file, αν εννοείς&amp;nbsp;την κλάση&amp;nbsp;SerialPort δεν υπάρχει τέτοιο θέμα, ούτε χρειάζεται να μιλήσεις εσύ απευθείας στο kernel32.dll. Κοιτάς πάλι να βρεις πρόβλημα στο .NET ενώ κατά 95% δεν είναι εκεί το θέμα. Τέλος, το αν μιλάς σύγχρονα ή ασύγχρονα στη θύρα μόνο εσύ το ξέρεις, γιατί απλά πρέπει να το ορίσεις εσύ. Το ότι δουλεύεις με event δεν σημαίνει ότι δουλεύεις ασύγχρονα. Το event πάλι στο ίδιο thread θα τρέξει. Αν ο κώδικας στο event handler καθυστερεί, όλα τα events από τα υπόλοιπα ports θα περιμένουν να τελειώσει πριν εκτελεστούνε. Αυτό βέβαια δεν διαφέρει σε τίποτε από την VB6, όπου και εκεί όλα τα events εκτελούνταν στο ίδιο thread.&lt;/P&gt;
&lt;P&gt;Για να πετύχεις ασύγχρονα Read/Write θα πρέπει να μιλήσεις στις σειριακές ως streams μέσω του BaseStream property και να χρησιμοποιήσεις τις BeginRead/BeginWrite.&lt;/P&gt;
&lt;P&gt;Αλήθεια, τί error εμφανίζεται στο ErrorReceived event? Αυτό θα σου πει πρώτα απ' όλα τί συμβαίνει, αν είναι δηλαδή Parity error ή buffer overrun. Το μόνο σίγουρο με μία σειριακή είναι ότι θα βγάλει errors. Ανάλογα με το error μπορείς να αποφασίσεις να καθαρίσεις τον buffer με τις DiscardInBuffer/DiscardOutBuffer.&lt;/P&gt;
&lt;P&gt;Επίσης, μην απορρίπτεις τόσο εύκολα την περίπτωση του buffer overrun. Αφού λες ότι δεν υπάρχει flow control, ποιός ελέγχει ότι όσα πράγματα στέλνεις όντως έφτασαν στην άλλη άκρη και ότι το άλλο μηχάνημα δεν μπούκωσε? &lt;/P&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48394.aspx</link><pubDate>Fri, 13 Feb 2009 02:03:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48394</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48394.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48394</wfw:commentRss><description>μετα απο ορισμενες δοκιμες που εκανα αναθεωρησα την αρχικη μου σκεψη, και πιστευω οτι φταιει το class file που μαλλον ειναι ελλιπες. Νομιζω οτι χρειαζεται καποιου τυπου συνδεσμο με το kernel32.dll αλλα δεν ξερω πως να το κανω...&lt;br&gt;Μολις βρω χρονο θα παραθεσω το κομματι κωδικα που εχει το προβλημα, δηλαδη την υπορουτινα comport_DataReceived που ενεργοποιειται με την υπαρξη δεδομενων στο buffer της σειριακης.&lt;br&gt;Το buffer δε γεμιζει σιγουρα γιατι το μεγαλωσα οσο δεν παει και δεν ειδα καμια διαφορα, πχ αυτη τη στιγμη παιζει στα 256Κ! &lt;br&gt;Να πω την αληθεια δεν ξερω αν επικοινωνει το προγραμμα με τη θυρα συγχρονα η ασυγχρονα, παντως το μοντελο που με ενδιαφερει ειναι το ασυγχρονο, χωρις flow control.&lt;br&gt;Τωρα οσον αφορα το θεμα των drivers δε νομιζω να φταιει κατι τετοιο γιατι με hyper terminal και αλλα προγραμματακια διαχειρισης σειριακων θυρων δουλευει μια χαρα. εκτος αν δεν ειναι συμβατοι με .ΝΕΤ η κατι τετοιο.&lt;br&gt;Προσωπικα θεωρω πολυ τελευταια λυση την μεταφραση του κωδικα σε αλλη γλωσσα&lt;br&gt;</description></item><item><title>Απ: Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48384.aspx</link><pubDate>Thu, 12 Feb 2009 21:39:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48384</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48384.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48384</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;dimos8enis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; Ειμαι σχεδον πεπεισμενος οτι δε φταιει ο κωδικας αλλα το ιδιο το περιβαλλον .ΝΕΤ αλλα ειναι πολυ δυσκολο να μεταφρασω ενα τοσο μεγαλο προγραμμα. Υπαρχει μηπως αλλη λυση?&lt;BR&gt;Ευχαριστω εκ των προτερων&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Μάλλον απίθανο έως εντελώς απίθανο. Αν θέλεις να βγάλεις άκρη θα πρέπει να αποκλείσεις αυτό το ενδεχόμενο και να δεις τί συμβαίνει αλλού.&lt;/P&gt;
&lt;P&gt;Κατά πάσα πιθανότητα (95%) το πρόβλημα θα βρίσκεται στον κώδικα σου (που δεν μας παραθέτεις). Μπορεί να χειρίζεσαι τη σειριακή με λάθος τρόπο, μπορεί ο driver να έχει συγκεκριμένους περιορισμούς, μπορεί απλά να χάνονται πακέτα! Κανείς δεν εγγυάται ότι η σειριακή δεν θα εμφανίσει προβλήματα, γι αυτό και υπάρχει το parity bit. Πόσο μάλλον όταν δουλεύεις με virtual serial. Μπορεί να γεμίζει ο buffer&amp;nbsp;της σειριακής. Μπορεί&amp;nbsp;το πρόγραμμα σου&amp;nbsp;να είναι επικοινωνεί σύγχρονα με το port και απλά να κολλάει αυτό όταν υπάρχει μεγάλος φόρτος.&amp;nbsp;μπορεί, μπορεί, μπορεί ....&lt;/P&gt;
&lt;P&gt;Το άλλο 5% είναι o ίδιος ο driver. Οι εταιρείες που φτιάχνουν multi-serial ή serial-over-ethernet συσκευές αρκετές φορές δεν δίνουν σημασία στους drivers. Κατά κανόνα αγοράζουν κάποιο chipset και αλλάζουν τα logo και copyright strings στο driver toolkit του driver toolkit που δίνει ο προμηθευτής του chipset. Μου έχει τύχει στο παρελθόν ακριβώς τέτοια ιστορία, με Microsoft certified driver παρακαλώ. Ο driver δεν ενεργοποιούσε το handshaking και έπρεπε ο δικός μας κώδικας να ελέγχει το RTS για να σταματήσει να στέλνει δεδομένα, αντί να σταματάει αυτόματα να στέλνει όταν έπαιρνε χαμηλό RTS από την άλλη πλευρά. Αναγκαστήκαμε να τους στείλουμε το ίδιο το sample που περιλαμβανόταν στο MSDN για να τους πείσουμε ότι αυτοί έχουν πρόβλημα, και ότι δεν είμασταν εμείς ελέφαντες.&lt;/P&gt;
&lt;P&gt;Αν θέλεις να πεισθείς ότι δεν φταίει το .NET, ξαναγράψε τον κώδικα σου σε native μορφή, π.χ. C++ ή VB6 και δοκίμασε το. Προσωπικά νομίζω ότι θα είναι χάσιμο χρόνου. Από την άλλη, αν θα πρέπει να επικοινωνήσεις με την εταιρεία που έφτιαξε τη σειριακή, καλό είναι να τους στείλεις κώδικα ο οποίος να εμφανίζει το πρόβλημα, αλλιώς δεν πρόκειτα να σου δώσουν σημασία. &lt;/P&gt;</description></item><item><title>Virtual Serial Port over Ethernet χειριζομενη απο προγραμμα γραμμενο σε VB.NET</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/48380.aspx</link><pubDate>Thu, 12 Feb 2009 20:24:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:48380</guid><dc:creator>dimos8enis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/48380.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=48380</wfw:commentRss><description>Normal
  0
  
  
  false
  false
  false
  
   
   
   
   
   
  
  MicrosoftInternetExplorer4
 

 
 




 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Κανονικός πίνακας";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}



&lt;p class="MsoNormal"&gt;Καλημερα&lt;br&gt;
ειμαι καινουριος στο φορουμ&lt;br&gt;
Εχω μια ερωτηση για ενα προγραμμα που εχω γραψει σε VB.NET (2008).&lt;br&gt;
Το προγραμμα κανει το εξης:&lt;br&gt;
Πολυπλεκει σειριακα δεδομενα απο πολλες θυρες και τα εξαγει σε μία από την
οποία αντίστροφα τα δεδομένα οδηγούνται στην κατάλληλη θύρα.&lt;br&gt;
&lt;br&gt;
Το πρωτο προβλημα ειναι πως αν υπαρχει πολυς φορτος δεδομενων το προγραμμα ειτε
κολλει και κλεινει, ειτε "κραταει" τα δεδομενα και τα εμφανιζει ολα
μαζι αφου κλεισω τη θυρα που εχει προβλημα. Το παραπανω προβλημα το
αντιμετωπισα με χειρισμο του συμβαντος SerialErrorReceived οπου κανω reset τη
θυρα καθε φορα που εγειρεται το συγκεκριμενο συμβαν.&lt;br&gt;
&lt;br&gt;
Το δευτερο προβλημα εχει να κανει με τις εικονικες σειριακες θυρες. εχω ενα
converter serial to ethernet (ADAM 4571) το οποιο θελω να χειριστω μέσω εικονικης
σειριακής θύρας. Τα απαραιτητα προγραμματα δίδονται μαζί με τον μετατροπεα. Το
προβλημα ειναι οτι όχι μόνο δεν μπορεί να ανοίξει τη θύρα, αλλα δεν εκτελει
καθόλου το κομματι κώδικα που βρίσκεται μετα από την εντολη comport.Open().&lt;br&gt;
&lt;br&gt;
Οσον αφορα το πρωτο προβλημα θα ηθελα να εξαλειψω το reset, ωστε να λειτουργει
απρόσκοπτα και να μη διακόπτεται η επικοινωνια σε τακτα διαστηματα, ενω για το
δευτερο θα ηθελα να μπορω να ανοίξω την εικονική σειριακή θύρα μέσω του
προγράμματος ωστε να επικοινωνήσω με τις υπόλοιπες θύρες και να στειλω δεδομενα
στο ethernet. Ειμαι σχεδον πεπεισμενος οτι δε φταιει ο κωδικας αλλα το
περιβαλλον .ΝΕΤ αλλα ειναι πολυ δυσκολο να μεταφρασω ενα τοσο μεγαλο προγραμμα.
Υπαρχει μηπως αλλη λυση?&lt;br&gt;
Ευχαριστω εκ των προτερων&lt;/p&gt;</description></item></channel></rss>