Où trouver Winsock ? oO

Résolu
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005
- 18 juin 2005 à 11:50
 cs_lacousine - 20 juin 2005 à 14:59
Comment obtenir Microsoft Winsock 6.0 ?

J'ai Visual Basic.NET mais pas Visual Basic 6.
J'ai récupérer un fichier .ocx d'un ami qui l'a, mais il m'affiche une erreur de license.

Aidez moi je suis désespéré !

21 réponses

beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
18 juin 2005 à 14:57
Bon alors pour utiliser Winsock en vb.net :



Il faut que tu importe le controle

pour ce faire tu met avant la class :



Imports System.Net


Imports System.Net.Sockets



exemple :



Imports System.Net

Imports System.Net.Sockets







Public Class frmMain

Inherits System.Windows.Forms.Form



#Region " Code généré par le Concepteur Windows Form "

[.......]

#End Region



Apres pour utiliser le control tu declare :



Dim socket as socket

Dim TcpServer As System.Net.Sockets.TcpListener 'Pour le Tcp

...etc

MSDN est ton ami!



J'espere que ca va t'aider!
3
beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
19 juin 2005 à 13:01
C'est normal car il faut obligatoirement une adresse Ip pour se connecter

de plus la fonction pour se connecter c'est :



En option explicit :

Public Socket As Socket = Nothing







Sub connected

Dim ipserveur As String

ipserveur = "192.168.0.91"



'apel de la fonction conected socket

Socket = ConnectSocket(Ipserveur, 5825)

End sub





Private Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket



Dim Socket As Socket = Nothing

Dim hostEntry As IPHostEntry = Nothing

Try

hostEntry = Dns.Resolve(server)

Catch ex As Exception

If InStr(ex.ToString, "No such host") >= 1 Then


MessageBox.Show("Adresse IP non valide ou hôte non connecté.",
"Connexion", MessageBoxButtons.OK, MessageBoxIcon.Error)

Exit Function

End If

MessageBox.Show(ex.ToString)

End Try



Dim address As IPAddress



For Each address In hostEntry.AddressList

Dim endPoint As New IPEndPoint(address, port)

Dim
tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream,
ProtocolType.Tcp)



Try

tempSocket.Connect(endPoint)

Catch


MessageBox.Show("Erreur lors de la connexion : hôte non joignable.",
"Connexion", MessageBoxButtons.OK, MessageBoxIcon.Error)

Exit Function

End Try



If tempSocket.Connected Then

Socket = tempSocket

Exit For

Else


MessageBox.Show("Erreur lors de la connexion : non connecté.",
"Connexion", MessageBoxButtons.OK, MessageBoxIcon.Error)

Exit Function

End If



Next address



Return Socket

End Function



c'est tiré du code de Ipchat
3
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
18 juin 2005 à 12:15
Salut,

L'ocx de winsock se nomme MSWINSCK.OCX. Si c'est bien ça que tu as récupéré, place-le dans c:\windows\system32.

Ensuite, dans "démarrer/exécuter", tape :

regsvr32 c:\windows\system32\mswinsck.ocx

Ca devrait l'enregistrer dans la registry et tu pourras travailler avec

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 12:45
Je l'ai fait comme tu l'a demandé, mais il m'affiche toujours la même erreur :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 12:49
Si c'est dans le registre, je ne dois pas redémarrer ?
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
18 juin 2005 à 13:10
Redémarres quand même, mais sous xp je ne sais pas si c'est vraiment nécessaire.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 13:14
OK.
Bon ben merci quand même
Mais ça fonctionne toujours pas :/
J'ai vérifié, il est dans le bon path, mais apparamment Visual Basic n'en veut pas.

Message exact :
"Vous ne disposez pas de la license requise pour utiliser ce contrôle ActiveX."
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
18 juin 2005 à 13:58
Il doit manquer des dépendances mais je t'avouerais que je ne sais pas exactement lesquelles.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
redblast
Messages postés
27
Date d'inscription
mercredi 20 octobre 2004
Statut
Membre
Dernière intervention
27 juin 2005

18 juin 2005 à 14:17
Salut



Quand tu installe vb6, il recopie les OCX, mais installe aussi une
license te permettant de les utiliser (des clés dans la bdr) donc
impossible de les importer dans VB si tu n'a pas les clés (et c'est
vrai pour la plupart des OCX livrés avec VB6).
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 16:19
Je ne connaît pas le "etc" comme tu dit, mais je vais tâcher de comprendre seul ce contrôle.
Sinon j'ai vu de multplies codes qui ont un rapport avec ce composant qu'est Winsock.
Je vais essayer ça, merci
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 16:57
Bon j'abandonne ^^'

Si quelqu'un me servait carrément sur un plateau :

1.) Se connecter à un serveur sous la forme "terres2lineage.gameserve.com/".
2.) Extraire l'addresse IP du serveur et l'afficher dans un Textbox.
3.) Se déconnecter.

J'ai trouvé la méthode .connect, mais je pige rien de rien ^^'
Trouver un système pour détecter l'addresse IP n'en parlons pas. Le mettre dans un textbox ? fiction.
Se déconnecter... Ah nan ça j'ai trouvé

En tout cas merci à tous pour votre aide, principalement à beltegeuse.
Quand à MSDN, figure-toi que ça fait 2 semaines que je suis sur ce problème, et la librairie n'a jamais su m'aider correctement ^^' Chuis pas doué avec les bibliothèques :/
0
beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
18 juin 2005 à 17:52
Oki je vais essayer de te faire ca.
J'ai ma petite idée!
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

18 juin 2005 à 20:02
OK

Sinon au cas ou vous n'auriez pas deviné au nom de l'URL, le programme que je crée est un qui est capable de détecter l'IP à partir d'une URL donnée (ça ça le fait pas encore ), de mettre à jour un fichier System via cette IP (ça c'est fait) puis lancer le programme correspondant pour que celui-ci puisse se connecter au bon serveur.

Merci à tous en tout cas
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

19 juin 2005 à 07:35
Bon toujours pas de réponse...

Voilà ce que j'ai trouvé :
socket.RemoteEndPoint()

Je voulais l'assigner avec label1.text, mais le programme me sort une confusion entre 2 types incompatibles (System.net.remoteendpoint & String)

Socket.connect()

Ici impossible de comprendre ce que je dois mettre entre les parenthèses, il sort une incompatabilité également (System.net.endpoint & String).

Socket.close()

Ouf, ça c'est bon, pour une fois
Bien qu'il produise une erreur puisqu'il ne détecte aucune connexion à fermer...

Si l'on pouvait m'expliquer comment faire pour que ces problèmes d'incompatibilité s'arrangent, i am in paradise...
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

19 juin 2005 à 16:28
Tout petit problème...
Comment je transmet l'IP sur un textbox ?

Sinon ça a l'air de fonctionner
0
beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
19 juin 2005 à 17:32
Euh bonne question :/ je vais essayer de voir ca
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

19 juin 2005 à 17:33
Merci trop sympa
0
beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
19 juin 2005 à 19:10
Bon voila je pense que si tu declare dans option explicit :

Dim hostEntry As IPHostEntry = Nothing



alors ta textbox c soit :



Textbox1.text = hostEntry

ou



tu declare dans option explicit :

Dim address As IPAddress



et ta textbox c'est :

Textbox1.text = address



Alors c bon?
0
beltegeuse
Messages postés
44
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
31 janvier 2009
30
19 juin 2005 à 19:11
Mais tu l'apelle apres la fonction :

exemple :



Socket = ConnectSocket(Ipserveur, 5825)

Textbox1.text = ......tec
0
LordMoth
Messages postés
14
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
19 juin 2005

19 juin 2005 à 20:07
Avec Textbox1.text = hostEntry :
Une valeur de type 'System.Net.IPAddress' ne peut pas être convertie en 'String'.

Avec TExtbox1.text = HostEntry.ToString :
La référence d'objet n'est pas définie à une instance d'un objet.

Merci quand même.
Sinon je pensais passer par :

Console.WriteLine(hostEntry)
Textbox1.text = Console.read
0