Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1364 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7
Auteur Sujet :

Les bots : programmation, pièges, principes, etc....

n°396094
kadreg
profil: Utilisateur
Posté le 15-05-2003 à 22:25:56  profilanswer
 

Reprise du message précédent :
AAARRRGGHGHHHHHHH
 
Je lockais pas lorsque j'accédait à l'IHM [:toad666]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le 15-05-2003 à 22:25:56  profilanswer
 

n°396099
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2003 à 22:28:46  profilanswer
 

walli a écrit :


 
Effectivement, pas très au point tout ça [:meganne]


Expressions régulières suxxor [:benou]

n°396101
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2003 à 22:29:42  profilanswer
 

bobuse a écrit :

De la detection du nombre de posts d'un topic ...
 
apparemment, certains en aurait deja parlé sur blabla  :o , mais bon, j'y etait pas :(
 
Ma methode :
Je suppose que je connais deja le numero et l'intitule du topic.
Je cherche donc la ligne (dans la liste des topics) qui contient le numero et ensuite l'intitulé. Pour la suite, je me demande comment faire ... compter le nombre de span :-/ ?


Expression régulière pour moi... qui a toutes les peines du monde à fonctionner !

n°396105
chrisbk
-
Posté le 15-05-2003 à 22:31:21  profilanswer
 

walli a écrit :


 
Effectivement, pas très au point tout ça [:meganne]


 
j'aimerais cprendre pourquoi il compte le nb de post en float, moi [:meganne]

n°396107
kadreg
profil: Utilisateur
Posté le 15-05-2003 à 22:32:14  profilanswer
 

Merde, mais ou il poste ce con de bot ? Il me dit qu'il poste mais je vois pas le poste apparaitre
 
Edit : ha si, dans la pagfe 26 de l'autre jour [:neowen]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396110
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2003 à 22:32:32  profilanswer
 

kadreg a écrit :

AAARRRGGHGHHHHHHH
 
Je lockais pas lorsque j'accédait à l'IHM [:toad666]


Je suppose que c'est pour mettre les labels des threads à jour ! Pourquoi t'as besoin de locker :??:
Moi je fais comme ça (mes threads sont dans une Hashtable)
 

Code :
  1. Object obj = hashThreads[Thread.CurrentThread];
  2. int n = System.Convert.ToInt32(obj);
  3. tabTextBox[n].Text= "Récupération de la page";


 
Pas besoin de locker, le thread n verra son textBox mis à jour [:sinclaire]

n°396118
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-05-2003 à 22:34:11  profilanswer
 

chrisbk a écrit :


 
j'aimerais cprendre pourquoi il compte le nb de post en float, moi [:meganne]


J'ai du me louper dans l'expression régulière, ne me demande pas comment :pfff:
Je sens que je vais laisser tomber les regexp moi, et faire ça à la mano !

n°396120
kadreg
profil: Utilisateur
Posté le 15-05-2003 à 22:35:12  profilanswer
 

Harkonnen a écrit :


Je suppose que c'est pour mettre les labels des threads à jour ! Pourquoi t'as besoin de locker :??:


 
Parceque j'ai la boucle principale avec QT qui n'est pas protégé en multithread. Je suppose que la property Text est déclarée synchronized, ce genre de notion existe pas en C++.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396122
benou
Posté le 15-05-2003 à 22:45:39  profilanswer
 

kadreg a écrit :

Je lockais pas lorsque j'accédait à l'IHM


 :??:


---------------
ma vie, mon oeuvre - HomePlayer
n°396123
benou
Posté le 15-05-2003 à 22:46:44  profilanswer
 

kadreg a écrit :


Edit : ha si, dans la pagfe 26 de l'autre jour [:neowen]


 :heink:


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 15-05-2003 à 22:46:44  profilanswer
 

n°396124
kadreg
profil: Utilisateur
Posté le 15-05-2003 à 22:47:11  profilanswer
 


 
 
 

Code :
  1. qApp->lock();
  2.     emit changeMessage ("bla bla bla" );
  3.     qApp->unlock();


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396130
benou
Posté le 15-05-2003 à 22:50:54  profilanswer
 

je locke que dalle pour les accès IHM moi ! :/


---------------
ma vie, mon oeuvre - HomePlayer
n°396132
kadreg
profil: Utilisateur
Posté le 15-05-2003 à 22:52:21  profilanswer
 

benou a écrit :

je locke que dalle pour les accès IHM moi ! :/


 
Si je locke pas, j'ai des coredump lorsque le rythme s'accélère. (genre cet après midi, le bot à platé à 995 posts)


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396139
benou
Posté le 15-05-2003 à 22:55:39  profilanswer
 

ouais moi c'est pas totu à fait pareil : c'est pas les threads qui mettent à jour l'IHM : c'est l'IHM qui demande les infos quand elle en a besoin ...


---------------
ma vie, mon oeuvre - HomePlayer
n°396146
simogeo
j'ai jamais tué de chats, ...
Posté le 15-05-2003 à 23:05:12  profilanswer
 

> The FirstPHPBot's taiste :  :sol:

n°396369
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 09:14:47  profilanswer
 

kadreg a écrit :


 
 
 

Code :
  1. qApp->lock();
  2.     emit changeMessage ("bla bla bla" );
  3.     qApp->unlock();

 


Y'a quand même un truc qui m'échappe. Je suppose que ton bot dérive de QThread, et que tu as placé tes 5 bots dans un tableau. Apparemment, tu émets un signal pour mettre à jour les labels. Etant donné que chaque label est rattaché à un bot unique (et donc à un thread), pourquoi as tu besoin de locker ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°396450
kadreg
profil: Utilisateur
Posté le 16-05-2003 à 10:01:31  profilanswer
 

Harkonnen a écrit :


Etant donné que chaque label est rattaché à un bot unique (et donc à un thread), pourquoi as tu besoin de locker ?  


 
C'est pas pour le label que je locke, c'est pour la boucle de message, qui n'existe qu'en un seul exemplaire, et qui n'apprécie pas de se manger plusieurs messages en même temps.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396476
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 10:15:13  profilanswer
 

kadreg a écrit :


 
C'est pas pour le label que je locke, c'est pour la boucle de message, qui n'existe qu'en un seul exemplaire, et qui n'apprécie pas de se manger plusieurs messages en même temps.

OK :jap:


---------------
J'ai un string dans l'array (Paris Hilton)
n°396482
samuelp
Posté le 16-05-2003 à 10:26:02  profilanswer
 

J'aimerai bien savoir comment vous faites :/
 
 Gestion des threads c pas un probleme par contre je ne vois pas comment recuperer le nombre de post sur un thread si ce n'est a chaque fois interroger le serveur et recuperer l'URL :/
 
 Un indice ? Je ferai mon Bot en C :o puis en Ada :o

n°396487
kadreg
profil: Utilisateur
Posté le 16-05-2003 à 10:28:56  profilanswer
 

samuelp a écrit :


je ne vois pas comment recuperer le nombre de post sur un thread si ce n'est a chaque fois interroger le serveur et recuperer l'URL :/


 
Et bien voila, tatoucompris [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396496
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 10:39:22  profilanswer
 

Mon expression régulière fonctionne \o/
(elle fait 3 lignes, mais bon, elle est compilée, donc j'ai peu de pertes de perfs)


---------------
J'ai un string dans l'array (Paris Hilton)
n°396501
kadreg
profil: Utilisateur
Posté le 16-05-2003 à 10:40:56  profilanswer
 

Bon, on lance un troll sur bla² pour vérifier ça ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°396504
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 10:42:13  profilanswer
 

kadreg a écrit :

Bon, on lance un troll sur bla² pour vérifier ça ?


[:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
n°396506
lorill
Posté le 16-05-2003 à 10:42:32  profilanswer
 

kadreg a écrit :

Bon, on lance un troll sur bla² pour vérifier ça ?


[:tapai]

n°396826
samuelp
Posté le 16-05-2003 à 14:36:16  profilanswer
 

Une activité represente une execution non atomique en cours au sein d'un automate a etas finis.
Les activites debouchent sur une action, composés de calculs atomiques executables qui provoquent un changement d'etat du systeme ou au retour d'une valeur.
 
En gros, c bien pour visualiser le comportement des methodes des objets et de leurs interactions.
 
 
Pouvez vous me montrer le schema UML complet (et non pas seulement le diagramme de classe) de vos Bots ?

n°396969
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 15:20:32  profilanswer
 

Tu crois que je me suis cassé le cul à faire un diagramme UML pour ça ? :heink:
 
Mon bot c'est :
 
- Une classe Form1, qui représente la fenêtre du bot, les gestionnaires d'évènements, le constructeur et destructeur, et une méthode de placement des widgets
L'appui sur le bouton "Surveiller" provoque un évènement dans lequel je créé ma Hashtable de threads, que je lance ensuite en même temps
- Une classe Bot qui contient une méthode publique pour poster, une méthode publique pour récupérer la page, une méthode publique pour rechercher le post dans la page, une méthode pour encoder les paramètres au format URI et un delegate associé à un event personnalisé, que j'ai créé pour envoyer un message à l'interface dans le cas ou les fonctions de postage et de récupération n'arriveraient pas à se connecter au forum (ceci étant géré par un try/catch).  
Pas de quoi fouetter un chat hein !
 
PS : je sais pertinemment que ceci est un troll de ta part, mais ce topic est à but éducatif avant tout.


---------------
J'ai un string dans l'array (Paris Hilton)
n°397242
bobuse
Posté le 16-05-2003 à 16:26:05  profilanswer
 

Moi pour l'instant :
 
une classe HfrBot avec comme methodes :
poster un message sur un topic
obtenir l'ID d'un topic
deleter un post
obtenir le nb de posts d'un topic
preumser :D
et d'autres qui viendront eu fil de mes idees
 
une classe HfrTopic qui contiendra des infos sur un topic et permetra de l'afficher (extends JPanel). Cette classe contient une liste de HfrPost
 
Une class HfrPost qui represente un post
 
Une classe HfrListeTopic qui permet d'afficher une liste de topic, faire des recherches, et plein d'autres trucs que j'ai pas defini
 
Une classe HfrFrame qui est cense permetrre de piloter et afficher tout ce beau monde ...
 
Le reste viendra par la suite, mais en gros, je suis pas sorti de l'auberge :whistle:


---------------
get amaroK plugin
n°397269
bobuse
Posté le 16-05-2003 à 16:37:28  profilanswer
 

Et sinon, y aurait pas moyen de faire des requetes plus directes sur la BD, ca allegerai le contenu html balourde a chaqye requete :D


---------------
get amaroK plugin
n°397388
pospos
Posté le 16-05-2003 à 18:22:53  profilanswer
 

hello
 
sympa votrepetit challange!
 
je me permet de vous proposez un truc:
vous pourriez telechargées les pages zippées puisque le forum le permet, pour accelerer un peu les connexions.
suffit d'inclure le header "Accept-Encoding: gzip", et la reponse condiendra normalement "Content-Encoding : gzip" (ou x-gzip)
 
et puis vous pouvez aussi faire un "If-Modified-Since: la date la precedente requete" pour ne pas recuperer x fois la page si elle n'a pas changé depuis al derniere fois
 
et puis faire des "Connection: keep-alive" kand la frequence des requetes augmente (ou faire du http 1.1) pour ne pas avoir à réouvrire un socket
 
et puis aussi vous pouvez ne demander qu'une partie de la page avec un "Range: bytes=debut-fin" (pour sauter les bannierres en haut et en bas, par exemple, sans compter que si un message vient d'etre posté le topic il sera forcément en haut dans la liste...)
 
et puis et puis et puis... voila c tout
 
faudrait trouver des regles pour faire des combats de bots!
Ca me dirait bien de participer dans ce cas, avec Perl.
a+

n°397599
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2003 à 22:18:16  profilanswer
 


:hello:
sympas tes idées, faudrait voir :)
tu es le bienvenu en tout cas :jap:


---------------
J'ai un string dans l'array (Paris Hilton)
n°398964
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 19-05-2003 à 00:48:01  profilanswer
 

Bon, mon bot en C# est officiellement terminé et il fonctionne !
L'étape suivante : créer une interface de dialogue entre moi et mon bot via MSN Messenger. J'utiliserai ainsi MSN Messenger pour le commander à distance et lui faire comprendre quelques commandes.
 
Voici quelques commandes :
 
- STOP -> Arret du bot
- POST AFTER n -> N° du post après lequel le bot devra poster (999 dans ce cas)
- SHOW STATS -> Affichage des stats
 
Pour info, il existe un wrapper .NET non officiel, DotMSN, de l'API MSN (qui n'est supportée que par le C/C++ pour l'instant, un comble alors que Microsoft cherche à promouvoir sa plateforme .NET). Il est disponible ici : http://members.home.nl/b.geertsema/dotMSN/
 
J'arrive à dialoguer avec mon bot très facilement (HELO -> OK). Reste plus qu'a implémenter mon protocole.
La suite au prochain épisode :hello:


---------------
J'ai un string dans l'array (Paris Hilton)
n°399119
Vic le vik​ing
Posté le 19-05-2003 à 09:29:46  profilanswer
 

bonjour :hello:
 
j'ai encore une question pour kadreg ! tu dis que quand un de tes threads arrive au post 999, tu lui donnes le mutex pour qu'il ait le droit de poster et ainsi, les autres threads retourneront dormir en découvrant que le split est passé.
 
comment peux tu faire ? j'ai vu que tu utilisais qt et donc tu dois utiliser un qmutex. les qmutex ont la méthode lock() qui bloque le thread jusqu'a ce que le mutex soit libre. donc pendant qu'un thread a le mutex, les autres l'attendent. ce qui fait qu'une fois que le mutex sera libre, les autre threads pourront poster, et tu flooderas.
 
tu peux me dire comment tu fais pour ne poster qu'une fois ? fais tu une sorte de test : si le mutex est libre, alors le thread poste, sinon le thread dort ? apparemment, on ne peut pas tester si un mutex est libre, on peut juste attendre qu'il soit libre


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°399124
bobuse
Posté le 19-05-2003 à 09:35:17  profilanswer
 

... c'est ca ?

vic le viking a écrit :

bonjour :hello:
 
j'ai encore une question pour kadreg ! tu dis que quand un de tes threads arrive au post 999, tu lui donnes le mutex pour qu'il ait le droit de poster et ainsi, les autres threads retourneront dormir en découvrant que le split est passé.
 
comment peux tu faire ? j'ai vu que tu utilisais qt et donc tu dois utiliser un qmutex. les qmutex ont la méthode lock() qui bloque le thread jusqu'a ce que le mutex soit libre. donc pendant qu'un thread a le mutex, les autres l'attendent. ce qui fait qu'une fois que le mutex sera libre, les autre threads pourront poster, et tu flooderas.
 
tu peux me dire comment tu fais pour ne poster qu'une fois ? fais tu une sorte de test : si le mutex est libre, alors le thread poste, sinon le thread dort ? apparemment, on ne peut pas tester si un mutex est libre, on peut juste attendre qu'il soit libre


 
Je pense plutot que le bot verifie que le split ne soit pas passé avant de poster  [:spamafote]
 
EDIT : en fait, il ne poste que si le dernier post est le


Message édité par bobuse le 19-05-2003 à 09:36:46

---------------
get amaroK plugin
n°399224
kadreg
profil: Utilisateur
Posté le 19-05-2003 à 10:29:27  profilanswer
 


 
C'est pas le post qui est sous mutex, mais l'accès (lecture/ecriture) à une variable qui prévient si le post à eut lieu.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°401216
Vic le vik​ing
Posté le 20-05-2003 à 13:59:22  profilanswer
 

kadreg: j'ai essayé toute la soirée de faire marcher un mutex comme tu le dis, mais ça marche pas, je comprends rien :(
 
voici ce que je fais:
 
- j'initialise un booléén à false en dehors du thread
- mon thread prend le mutex, mutex.lock()
- sous mutex, je place la variable à true et je rends le mutex
- puis je fais un traitement si la variable est a true
 
mais malgré ça, mes 2 threads font le meme traitement ! comment fais tu dans ton bot ? moi je nage complet !! (c'est trop chiant les threads :( )


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°401225
benou
Posté le 20-05-2003 à 14:06:14  profilanswer
 

ben si tu rend le mutex, t'es plus dans une zone protégée => les deux threads peuvent arriver à ce moment là en même temps ...

n°401262
bobuse
Posté le 20-05-2003 à 14:24:49  profilanswer
 

J'ai pas tout suivi la ...
tu parles d'un booleen et d'un mutex :heink:
 
le booleen c'est ton mutex ?


---------------
get amaroK plugin
n°401266
bobuse
Posté le 20-05-2003 à 14:26:08  profilanswer
 

vic le viking a écrit :


mais malgré ça, mes 2 threads font le meme traitement ! comment fais tu dans ton bot ? moi je nage complet !! (c'est trop chiant les threads :( )


 
Tu connais le probleme du producteur/consommateur ?
 
sin non, va demander a google, et je pense que ca t'aideras a comprendre ... :)


---------------
get amaroK plugin
n°401270
kadreg
profil: Utilisateur
Posté le 20-05-2003 à 14:27:32  profilanswer
 

bobuse a écrit :


le booleen c'est ton mutex ?


 
Non, le test de la valeur du booleen et son changement de valeur sont sous mutex


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°401308
Vic le vik​ing
Posté le 20-05-2003 à 14:48:35  profilanswer
 

kadreg: tu dis que le test de la valeur du booleen et son changement de valeur sont sous mutex
 
j'ai fait ça :
 

Code :
  1. while (true)
  2.    mutex.lock()
  3.    if (!fini)
  4.    {
  5.       fini = true;
  6.       //traitement
  7.       mutex.unlock();
  8.       fini = false;
  9.    }
  10. }


mais malgré ça, j'ai toujours 2 mutex qui font le traitement en meme temps. je comprends vraiment pas :(


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°401309
kadreg
profil: Utilisateur
Posté le 20-05-2003 à 14:50:48  profilanswer
 

vic le viking a écrit :


Je comprends vraiment pas :(


 
Tu es sur que chaque thread n'accède pas à une instance différente de fini ? Moi c'est un attributr statique ...


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7

Aller à :
Ajouter une réponse
 

Sujets relatifs
[ Cherche langage de programmation ] + question PHP --> EXE ?programmation debutant
programmation Pocket PC en C++[projet] Quel langage de programmation utiliser ? (active directory...
Programmation d'un événementProgrammation openGL
programmation HPVEE ...Programmation ASM sur Windows ?
[O Caml] Programmation d'un interpréteur - pb de syntaxeProgrammation GTK Linux , problème de #include
Plus de sujets relatifs à : Les bots : programmation, pièges, principes, etc....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR