Connection a un server irc

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 452 fois - Téléchargée 58 fois

Contenu du snippet

Crée un projet et insère un Winsock dedans puis mettre un bouton. Tu peux mettre aussi une fenêtre pour voire se que le serveur te renvoie (affichage). Renome ton Winsock en Sock1

Source / Exemple :


'************
    Bouton
'************

Private Sub command1_Click()
Sock1.RemoteHost = "server.irc.net"
Sock1.RemotePort = 6667
Sock1.Connect
End Sub

'************
 Connexion
'************

Private Sub Sock1_Connect()
Dim nick
nick = "Pseudo"
Sock1.SendData "NICK " + nick + Chr(10)
Sock1.SendData "USER VB-BOT " + " " + Chr(30) + "moa.com" + Chr(30) + " " + Chr(30) + localhost + Chr(30) + " :Visual Basic Bot destroyed by TuXAveRy" + Chr(10)
End Sub

'************
'  Donnée
'************
' Ici c'est la reception des donnée par le winsock. 
'C'est a partir de la ke tous se fait :)

Private Sub Sock1_DataArrival(ByVal bytesTotal As Long)
'LA  PARTIE TRES IMPORTANTE !! Il fo absolument cette partie pour pouvoir se connecte au server.
'Le server envoie un PING et pour valider votre connexion, il fo que tu reponde a ce ping, sans ca tu ne pourra po te connnecté.
Sock1.GetData receive, vbString
If Left(receive, 6) = "PING :" Then
Sock1.SendData ("PONG " & Mid(receive, 7, Len(receive)) & Chr(10))
End If
'********
Text1.Text = receive 'affichage dans une textbox
End Sub

Conclusion :


Voilà, c'est pas tres dur :) Déclarer la variable Receive en Global (pour tous votre projet, et déclarer la en String !!)
Sinon pour la suite je vous conseil de lire la RFC sur l'IRC. C'est la 1459 (http://www.networksorcery.com/enp/default0302.htm)

Ps: Ajout de la source pour le dialogue et les commandes avec un serveur
http://www.vbfrance.com/article.asp?Val=2000
TuXAveRy

A voir également

Ajouter un commentaire

Commentaires

cs_clad87
Messages postés
42
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
24 août 2015
-
+1
TuXAveRy
Messages postés
14
Date d'inscription
samedi 19 mai 2001
Statut
Membre
Dernière intervention
4 décembre 2004
-
Accessoirement si tu regardes la date de la source (et du commentaire), tu t'apercevras qu'elle a presque 8 ans :)
J'ai du faire du VB6 pendant 6 mois à tout casser et cette source était la à titre d'exemple car à l'époque il n'y en avait pas bcp. Personne n'a jamais eu la prétention de fournir la source parfaite et toute amélioration est la bienvenue !
Avec un peu plus de jugeote, tu aurais pu éviter le "noob", qui, au final, est plus péjoratif pour toi que pour moi ...
kgdecaen
Messages postés
38
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
16 décembre 2009
-
NooB TuXAveRy, commence déjà par remplacer les "+" par "&" et chr(10) par vbcrlf.
Et pour TeBeCo, la reponse au ping automatiquement se fait simplement dans
winsock1_DataArrival :

----
dim data as string
winsock1.getdata data

if instr(1, data, "PING") then
data = replace(data, "PING", "PONG")
winsock1.senddata data
end if
---

Pas trop compliqué j'espère avoir pu t'aider à ton sujet de PING TimeOut :/
cs_clad87
Messages postés
42
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
24 août 2015
-
TeBeCo, si tu lis bien ton message d'erreur

:irc.server-xtasy.net NOTICE Pseudo :*** If you are having problems connecting due to ping timeouts, please type /quote pong 7DF1E1 or /raw pong 7DF1E1 now.
PING :7DF1E1

Le serveur te demande de répondre au ping ! donc tu lui répond (please type /quote pong 7DF1E1 or /raw pong 7DF1E1 now.)
peponr
Messages postés
22
Date d'inscription
mercredi 20 novembre 2002
Statut
Membre
Dernière intervention
26 février 2003
-
Bonjour, (heuuu vu l'heure) bonsoir, ce code est tres interessant !
Il m'as beaucoup aidez dans la programmation de mon client irc.
voilà sinon shining t'aurai pas la commande pour faire un whois ???
Merci
envoi moi un mess si tu l'as
@++
bye

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.