Tutoriaux sock mirc

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 379 fois - Téléchargée 27 fois

Contenu du snippet

A vous de lire =)

Source / Exemple :


Le socklisten : Permet a ce que quelkun se connect sur un de vos port :

Syntax : /socklisten nom_sock port
Exemple : /socklisten serv 3456

Le sockopen : Permet de se connecter à un Server/IP sur un port qui doit deja être listen

Syntax : /Sockopen non_sock IP/DNS Port
Exemple : /Sockopen irc irc.undernet.org 6667

Le sockwrite : Une fois un server open avec sockopen vous pouvez envoyer du text

Syntax : /Sockwrite -n le_nom_du_sock Text
Exemple : /Sockwrite -n irc PONG: 9834654
La le server recois : PONG: 9834654

Le sockread : Une fois un SockListen ou Open on peu lire se ke lon ou envoi avec un evèvement :

Syntax : ON *:SOCKREAD:nom_sock:/sockread -f %variable
Exemple : ON *:SOCKREAD:irc:/sockread -f %text
La la variable %text contient se ke vous avez recu !

Le On socklisten : permet d'accepter une connexion sur votre port ouvert
Exemple: ON *:SOCKLISTEN:serv:/sockaccept un_nom_de_sock
Syntax : ON *:SOCKLISTEN:serv:/sockaccept client
La le sock s'aplera "client" si vous voulez faire un "sockwrite" sur lui...

le On sockopen : s'effectu kan vous avez été accepter par le server lors d'un /sockopen
Syntax: On *:SOCKOPEN:irc:/echo -s Connecté

le sockclose : permet de fermer une connexion kelkonke
Syntax : /sockclose sock
Exemple : /sockclose irc
La la liaison sera coupée.

le On sockclose : d'effectu kan vous êtes déconnecté par le server :
Syntax: On *:SOCKCLOSE:irc:/echo -s Déconnecté

VOila =) bien d'autres options sont pour les sock ki se trouve dans l'aide mirc aller bon scripting =)

Conclusion :


By |PaRa-BoL

A voir également

Ajouter un commentaire

Commentaires

GFACTION
Messages postés
199
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
7 avril 2005

Je pense que tu aurais pu t'appliquer pour l'orthographe, et j'aime pas trop, c'est pas mal le désordre...
Il faudrait plutôt respecter un ordre chronologique comme ceci, ça aide à comprendre.

Imaginons que nous voulions envoyer du texte entre deux mIRC différents... (c'est un scénario comme un autre) m2 veut se connecter à m1 pour lui envoyer du texte.

Sur m1 (le premier mIRC) :

Il faut écouter un port pour que m2 puisse se connecter.
/socklisten m1_server 256
Par exemple. m1_server est le nom de la socket qui ne va rien faire d'autre que d'écouter un port.

Toujours coté m1 (donc serveur), pour accepter la future connexion de m2, il faut placer un évenement 'socklisten'.

on *:socklisten:m1_server: {
sockaccept m2
echo -a m2 vient de se connecter à m1
}

J'ai spécifié dans l'event : m1_server, qui est le nom de la socket qui va listen ce port, c'est donc à lui que nous allons faire référence.
En suite il faut donner un nom à la connexion de m2. Je l'ai appelé tout simplement m2.

Pour recevoir ce que nous envoit m2, et l'afficher, s'il le faut, il faut donc placer un évenement 'sockread'.

on *:sockread:m2: {
sockread %sr
tokenize 32 %sr
if ($1 == AFFICHE) {
echo -a ( $+ $sockname $+ ) : $2-
}
}

mIRC fait appel à cet event lorsque des données sont reçues de m2.
On stock dans %sr ce que m2 nous envoit.
Pour éviter de faire des $gettok à rallonge et donc de ralentir le serveur, je tokenize %sr, pour pouvoir accéder à %sr comme suit: $1 = $gettok(%sr,1,32) etc...
En fait, tokenize 32 %sr, split %sr en fonction du chr 32, donc "la phrase" est coupée à tous les chr 32. (le 32 c'est le caractère espace)

En suite, il faut élaborer un petit protocole, ici extrêmement simple, il ne réside qu'en une seule commande : AFFICHE.

Dès que m1 recoit : "AFFICHE salut ! :o", il va afficher dans sa fenêtre active : "(m2) : salut ! :o"
Ici, ça ne sert à rien d'utiliser $sockname, car il ne peut pas être autre chose que m2.

Maintenant, il faut gérer du coté m2.

Pour se connecter à m1, il faut ouvrir une socket.
/sockopen m1 127.0.0.1 256
Ouvrir la connexion à l'adresse de la machine où se situe m1, en l'occurence, la même machine (loopback 127), et sur le port qu'écoute m1, c'est à dire le 256.

En suite, il faut détecter quand la connexion est acceptée, autrement dit, quand m1 effectue son /sockaccept.

on *:sockopen:m1: {
echo -a Connexion acceptée par m1
sockwrite -tn m1 AFFICHE Voilà, je suis connecté :p
}

Donc, une fois la connexion ouverte, on affiche sur m1 un petit texte :)
/sockwrite permet d'envoyer des informations à une socket.

Dans ce cas basique, le serveur n'envoit rien, donc on n'a pas ressenti le besoin de mettre un on sockread pour m2, mais il est tout à fait possible de le faire, et cela fonctionne de la même manière.

Voilà, je viens de faire ce "tutorial", et j'estime qu'il est tout de même plus clair.

Bye
vbtom
Messages postés
229
Date d'inscription
dimanche 3 juin 2001
Statut
Membre
Dernière intervention
5 octobre 2003

Dommage, il manque la description des erreurs sur les sockets. Justement ce qu'il me fallait :(
DrAzZiK69
Messages postés
117
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
8 décembre 2003

arff je trouve que les sockets c dur.. ki pouré maider? mail: DrAzZiK@Club-InterNet.fr Pacque jmré bien savoir mé a chak fois que j'essaye de me konec à un serveur ca ping time out link closed..
Bon AllEz @+ Me Amigos!
PaRaBoL
Messages postés
18
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
6 septembre 2003

ErAzEr le site c ircfr pas mircfr lol IRC c pas ke mIRC... mirc n'est kune minoriter... la majoriter des bon codeur sont sous nux ^^
cs_max12
Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

Cool ton tuto

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.