maxpeg0705
Messages postés61Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention21 septembre 2005
-
14 oct. 2004 à 14:04
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 2014
-
4 janv. 2005 à 20:24
Bonjour,
j'aimerai me lancer dans un projet de petit bot IRC :)
Je suis débutant (mais je me débrouille un peu avec les sockets) : j'arrive a me connecter au serveur mais pas a repondre au ping et a envoyer des commandes.
Si quelqu'un a un peu de temps a perdre avec moi je lui en serai reconnaissant :big)
:big) maxpeg0705 :big)
Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 20143 17 oct. 2004 à 19:12
Oui tu peut le "serialise".
Mais par exemple en C/C++, tu peux envoyer directement ton entier en dans la socket. L'avantage c que tu n'est pa oblige de connaitre le nombre de chiffre de ton entier. MAis ca peut s'averer utile par exemple si tu veux envoyer un nombre decimal. Et de plus tu n'a pas de convertion a effectue. Mais python n'accepte que les chaine de caracte et les "read-only buffer" .
Reste a savoir comment en creer un.....
cs_Marvin
Messages postés77Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention19 juin 20061 17 oct. 2004 à 21:29
Je m'y connait pas, alors je peu pas vraiment dire, mais moi toute cette discution sa m'a ouvert l'appetti et m'a donné envie de faire un super protocol de la mort qui tue (je sais, je suis embitieu...)
Donc je vais voir le tutorial que Taz_iup a posté pour aprendre...
maxpeg0705
Messages postés61Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention21 septembre 20051 18 oct. 2004 à 00:41
Enfin :big)
J'y suis arrivé le bot se connecte repond a !date, !salut et envoi une notice lorsqu'une personne join le salon !!
Faut dire que Panta m'a bien aidé (il apprend le Python aussi :-p )
:big) maxpeg0705 :big)
Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
bibi_81
Messages postés345Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention25 octobre 2007 18 oct. 2004 à 18:39
... jaime pas con me contrarie jaime pas du tout ..... grrrr ! enfin tu as peut etre raison mais je suis tres tetu
--------------
Vive FFIX :-p :big) et non pas <s>la guerre</s>
cs_Marvin
Messages postés77Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention19 juin 20061 18 oct. 2004 à 19:07
Salut,
Bon bin Maxpeg0705 , t'as plus qu'a poster la source et faire profiter tout le monde de ton super client bientot aussi populaire que mirc... :p
Serieusement, si tu pouvait poster la source sa serait sympas et en plus on pourrai peut etre ajouter une fonction parci parlà...
maxpeg0705
Messages postés61Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention21 septembre 20051 18 oct. 2004 à 20:02
tinkiet pas je la posterai la source mais la c'est une beta version :p
et je me mefie qd meme rippeur qui essayent de faire comme si ils avaient codés la source :sad)
Mais je prefere partager la source qd meme :)
:big) maxpeg0705 :big)
Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
cs_Marvin
Messages postés77Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention19 juin 20061 18 oct. 2004 à 20:40
Voila un esprit qui sait faire la part des choses.
Et puis pour les rippers, tu les laisse crever dans leur ignorance absolue, et si sa les amuses temp mieu pour eux...
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 20143 19 oct. 2004 à 20:13
oui.
D'ailleur j'ai trouve une astuce pour envoyer mon entier
par exemple pour envoyer un entier a un prog C++ qui en attend un.
il suffit de construire la chaine de caratere comme suit.
nombre = 862186
msg = chr( nombre & 256 ) + chr( (nombre/256)&256) + chr( (nombre/(256²))&256 ) + chr( (nombre/(256^3))&256 )
sock.send( msg )
et le tour est joue.
Dans votre programme C++ vous pouvez recevoir un nombre directement sans passer par le texte.
L'inverse est egalement simple.
msg = sock.recv( 4 )
nombre = ord( msg[0] ) + ord( msg[1] ) * 256 + ord( msg[2] ) * 256² + ord( msg[3] ) *256^3
pour recevoir un nombre envoyer depuis un programme C++
voila...
bibi_81
Messages postés345Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention25 octobre 2007 22 oct. 2004 à 19:59
bon jvou laisse vot C++ sa alair intéressant mai bon ji connai rien en C++ aussi en C et C# alor bon je laisse tomber ^^
--------------
Vive FFIX :-p :big) et non pas <s>la guerre</s>
cs_Marvin
Messages postés77Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention19 juin 20061 23 oct. 2004 à 00:30
C'est vrai que ce code est bien complexe, avec les fonction sorties a tout bout de champ...
Si je ne me trompe pas (mais je pense que je me trompe), ce code permet de diviser le message envoyé par socket en plusieurs parties, chacune definissant une caractéristique du nombre (en les separents par 256???).
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 20143 23 oct. 2004 à 12:56
Ca peu pres ca .
En fait je divise les octets represantant l'entier( 4 octets )
en 4 partie de 1 octet( representant un caractere.
La fonction chr permet d'obtenir un caractere a partir de son code ASCII.
La division entiere par deux d'un nombre entier est equivalente a un decalage des bits du nombre
ex :
11001100 / 2 -> 01100110
11001100 / 4 -> 00110011
11001100 / 8 -> 00011001
11001100 / 16-> 00001100
et ainsi de suite.
La multiplication a l'effet inverse.
ensuite le & 256 permet de recuper uniquement les huit premiers bits( c'est a dire le premier octet ) des quatres octet de l'entier.
En divisant successivement par els puissance de 256 on recuperre ainsi les quatre octets de l'entier séparement.
L'equivalent du nombre en chaine de caractere est donc la concatenation des quatres codes ascii calcules.
Voila j'espere que c'est un peu plus clair pour vous, sinon j'essairai de reformuler mon explication.
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 20143 23 oct. 2004 à 12:57
Je viens de relire ce que tu as marque, en fait c ca sauf qu'au lieu de les envoyer par paquets, je reconstruit ma chaine pour l'evonyer en une seule fois.
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 20143 1 nov. 2004 à 20:18
J'ai lu un boukin de python recement et j'y ai lu qu'il existe des modules python pour "serialise" des donnes, c'est a dire les transformer en texte et inversement.
Leur nom sont marshall et pickle.
Voila pas besoin d te casser la tete a faire ton algo Marvin...
:D
@+