Downloadpercent Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 Μια εφαρμογή που θα κάνει 2-3 πράγματα ταυτόχρονα... 1) Να συνδεθεί σε ένα MIRC Chanel, θα βρίσκεται σε ένα Loop ατέρμονο για να μην αποσυδεθεί 2) Ταυτόχρονα θα διαβάζει τα μηνύματα και θα κάνει Parsing με κάποια κριτήρια 3) και ότι άλλο αποφασίσω να κάνω... αυτά θα πρέπει να τα βάλω να τρέχουν στο Background; η με Threads γίνεται η δουλειά αυτή?? έχω φτιάξει κάτι πολύ πρόχειρο αλλά έχει αρκετά προβλήματα Συγκεκριμένα: - Συνδέεται ο χρήστης, όλα καλά... - Το πρόγραμμα είναι εγκλωβισμένο σε ένα loop και διαβάζει τα μηνύματα - Διαβάζει αυτά τα μηνύματα και κάνει Parsing, αν βρει το ζητούμενο τότε προχωράει σε μια ενέργεια που του έχω πει Εδώ είναι όλο το πρόβλημα, ότι αφού κάνει Parsing(δουλεύει οκ) προχωράει στο κάλεσμα ενός υποπρογράμματος και μερικές φορές κολλάει, τρώει DC από το MIRC http://pastebin.com/sCTybswQ
taazz Δημοσ. 6 Ιουλίου 2012 Δημοσ. 6 Ιουλίου 2012 Μια εφαρμογή που θα κάνει 2-3 πράγματα ταυτόχρονα... 1) Να συνδεθεί σε ένα MIRC Chanel, θα βρίσκεται σε ένα Loop ατέρμονο για να μην αποσυδεθεί 2) Ταυτόχρονα θα διαβάζει τα μηνύματα και θα κάνει Parsing με κάποια κριτήρια 3) και ότι άλλο αποφασίσω να κάνω... αυτά θα πρέπει να τα βάλω να τρέχουν στο Background; η με Threads γίνεται η δουλειά αυτή?? έχω φτιάξει κάτι πολύ πρόχειρο αλλά έχει αρκετά προβλήματα Συγκεκριμένα: - Συνδέεται ο χρήστης, όλα καλά... - Το πρόγραμμα είναι εγκλωβισμένο σε ένα loop και διαβάζει τα μηνύματα - Διαβάζει αυτά τα μηνύματα και κάνει Parsing, αν βρει το ζητούμενο τότε προχωράει σε μια ενέργεια που του έχω πει Εδώ είναι όλο το πρόβλημα, ότι αφού κάνει Parsing(δουλεύει οκ) προχωράει στο κάλεσμα ενός υποπρογράμματος και μερικές φορές κολλάει, τρώει DC από το MIRC http://pastebin.com/sCTybswQ Μια μικρή αλλαγή στην λίστα εργασιών σου ίσως να βοηθήσει. 1) Έναρξη thread σύνδεσης 1.α) Σύνδεση και ατέρμονος βρόγχος ανάγνωσης μηνυμάτων 1.β) έλεγχος σημαίας εξόδου από το thread. Σε περίπτωση που είναι αληθής έξοδος και καταστροφή του thread (συνήθως μέσα στον βρόγχο και όχι εκτός). 2) Νέο thread και πέρασμα του μυνήματος προς επεξεργασία 2.α) parse και έλεγχος μυνήματος 2.β) Αν όλες οι παράμετροι είναι σωστές τρέξε το υποπρόγραμμα και ενημέρωσε την κύρια οθόνη (όχι το thread σύνδεσης και ανάγνωσης μηνυμάτων) για τα αποτελέσματα. 2.γ) έξοδος και καταστροφή του thread.[/Code]
παπι Δημοσ. 6 Ιουλίου 2012 Δημοσ. 6 Ιουλίου 2012 Μιλαμε για C#. Κανε ενα search να για library, 100% καποιος θα εχεις φτιαξει μια τετοια library. Αλλιως πρεπει να διαβασεις το προτοκολο http://www.irchelp.org/irchelp/rfc/rfc.html για να καταλαβεις γιατι σε κανει kick ή οτι αλλο
Downloadpercent Δημοσ. 6 Ιουλίου 2012 Μέλος Δημοσ. 6 Ιουλίου 2012 Μιλαμε για C#. Κανε ενα search να για library, 100% καποιος θα εχεις φτιαξει μια τετοια library. Αλλιως πρεπει να διαβασεις το προτοκολο http://www.irchelp.org/irchelp/rfc/rfc.html για να καταλαβεις γιατι σε κανει kick ή οτι αλλο απλά, αν δεν βρίσκεσαι σε ένα Loop σταματάει και το πρόγραμμα, έχω την εντύπωση ότι απλά επειδή συμβαίνει κάποιο Exception σταματάει από το Loop, (στο Function1() έχω βάλει όταν συμβεί κάποιο Exception να καλεί τον εαυτό της η συνάρτηση) άρα τρώει το Exception, βγαίνει από το Loop μετά τρέχει μόνο του το Function1() έξω από το αρχικό Loop > try { Console.WriteLine("Sending in progress..."); while (socket.Connected) { Buff = Encoding.ASCII.GetBytes("hello there"); socket.Send(Buff); Thread.Sleep(1); } } catch (Exception) { Console.WriteLine("Disconnected, re-connecting now!"); Console.Clear(); try { CloseAll(); Function1(); //Call Again Function } catch (Exception) { } } είναι πολύ ευαίσθητο έχω παρατηρήσει γιατί υπάρχουν και κάποια Protections για flooding αν στείλω μεγάλο αριθμό Bytes ακόμα και με 500ms delay σταματάει (Kick από ταργετ) αν στείλω μικρό αριθμό Bytes και δεν βάλω καθόλου delay τότε πάλι σταματάει τέσπα...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα