Connexion a un ordinateur distant par winsock [Résolu]

Signaler
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009
-
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009
-
Bonjour!

j'aimerai me connecté a mon ordinateur a partir d'un autre par internet via winsock.
bin j'y arrive pas ! :(
j'ai tous essayé, chercher de partout mais rien!

J'ai une application serveur et une application cliente, en local ça marche parfaitement.

j'aimerais savoir comment me connecté a mon ordinateur (distant) avec l'adresse IP.

pourquoi ça ne marche mas avec ça :

Winsock.Close
Winsock.RemoteHost = InputBox("IP ?", "IP", "xxx.xxx.xxx.xxx")
Winsock.Protocol = sckTCPProtocol
Winsock.RemotePort = InputBox("Port ?", "Port", "600")
Winsock.Connect

Merci de m'aider

13 réponses

Messages postés
240
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
17 mars 2009

Attend, tu es dans un réseau local et un client qui n'est pas dans ce réseau local doit se connecter a ton serveur ? ci c'est sa et bien c'est impossible car ton serveur à une ip interne, dans non valable pour Internet
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci


Alors, ca fonctionne sur internet exactement de la meme façon que ca marche avec 2 ordis connectés entre eux.
Le seul incovenient c'est qu'il faut asolument connaitre l'adresse IP (Le port est à ton choix), et quad t'as un fournisseur d'acces comme AOL (par exemple), ils utilisent, ce qu'ils appelent des adresses IP Dynamiques. C'est à dire que ton adresse IP change à chaque fois que tu te connectes, il faut donc la connaitre, pour ta connection winsock...
Tu peux la connaitre par exemple dans une ligne de commande tu tapes ipconfig + entrée et il te donne l'adresse IP, masque sous-réseau etc..
J'ai déjà eu le même problème que toi et la seule solution pour connaitre l'IP distante c'est laisser une application touner qui incrit à chaque fois l'IP dans un fichier txt dans un site FTP et quand t'as besoin tu consultes ce fichier avant la connection pour avoir l'IP..
A+
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci


**** Winsock pour la réception: ****

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
Winsock1.Accept requestID
End If

End Sub

Private Sub Timer1_Timer()
timer1.interval =500
On Error Resume Next
Label2.Caption = "Reception : " & Winsock1.State

If Winsock1.State <> 2 And Winsock1.State <> 7 Then
Winsock1.Close
Winsock1.LocalPort = 22 ' (PORT Local)
Winsock1.Listen
End If
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData mess$ ' (constante de type 'String' obligatoire)
form1.caption = mess$
end sub

**** Winsock pour l'envoi : ****

Private Sub Form_Load()
Winsock1.Close
Winsock2.Connect "xxx.xxx.xxx.xxx", 22 ' (IP et PORT)
end sub

Private Sub Command1_Click()
Winsock2.SendData "Salut"
End Sub

Bonne prog...
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

C'est gentil mais c'est pas ce que je veut, tu m'a donné du code pour une connection en local.

moi ce qui m'interresse c'est une connexion par internet
donc par RemotePort et pas LocalPort, je crois.

Il faut que j'utilise l'IP de la connexion internet, nest-ce pas ?
y'a t-il un/des port(s) spécial ?

sinon acive, tu as déjà reussi a te connecté a une app sur un pc distant ?
Messages postés
48
Date d'inscription
samedi 1 mai 2004
Statut
Membre
Dernière intervention
8 mai 2005

pour ce communiquer via internet tu devras spécifier deux port pour chaque application cliente et serveur(un port locale et un port distant)

exemple:
application client
localport=1000
remoteport=1001

application serveur
localport=1001
remoteport=100

remarquez trés bien que par exemple le localport de l'application client s'agit bien du remoteport de l'application serveur
une fois tu es connecté ,bien sur tu dois spécifier le remotehost dans lequelle tu met soit le nom de la machine ou son adresse ip,
pour plus d'aide tu peux consultez l'aide de msdn

ezzi
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

merci, je vais essayé !
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

sinon t'as pas sous la main un exemple concret serveur et client?

parceque la je peut pas testé tous de suite, il faut d'abord que je rentre chez moi, modifie le serveur pour retesté cet aprem. donc j'aimerai y arriver du 1er coup.

merci.
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

exemple:
application client
localport=1000
remoteport=1001

application serveur
localport=1001
remoteport=1000

amiro > ça ne marche pas !
Messages postés
48
Date d'inscription
samedi 1 mai 2004
Statut
Membre
Dernière intervention
8 mai 2005

non j'ai juste voulu te faire comprendre l'histhoire des ports
que tu devras utulisé deux ports
mais tu trouveras plein de codes sources a propos du controle winsock

pour se connecter tu dois spécifier aussi le remotehost dans lequelle tu metteras @ip

"exemple :application cliente
LsRemoteHost = InputBox("Adresse IP ou nom du serveur :", "Clm's Chat - [Client : " & LsPseudo & "]")
If LsRemoteHost = "" Then
End
End If

wsk.RemoteHost = LsRemoteHost
wsk.RemotePort = 1001
wsk.Connect
c'est juste le code pour se connecter, tu devras accepter la connexion du coté serveur

essayer de chercher et tu trouveras plein de chose
bon chance

ezzi
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

oui-oui ! bin rien à faire, en local ça marche nikel, chat, transfert de fichiers, etc...

Mais toujours pas de connection a internet !

j'ai trouvé ce site : http://assiste.free.fr/p/frameset/01_01.php qui sert entre autre a obtenir son adresse IP pour le Net mais quand je l'utilise comme remoteHost dans le client, bin ça ne marche pas quand meme !

bon, je vais devoir trouver autre chose ! %-6

sinon je cherche si possible une source (cliente) qui aurai par defaut un remotehost accessible, qui n'y aurait plus qu'a faire connecté quoi ! et que ça marche, comme ça je pourrais matter la source et m'en inspirer !
Merci
Messages postés
48
Date d'inscription
samedi 1 mai 2004
Statut
Membre
Dernière intervention
8 mai 2005

est ce que tu peux m'envoyer tout votre code coté client et coté serveur,et je vais voir vraiment si je peux t'aider.
merci
ezzi
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

non, ça sert à rien, j'ai trouvé d'ou vient le probleme :
-L'identification du serveur est impossible, pour un ordinateur se connectant a internet par un réseau local, sans routeur.

je pence q'avec 2 ordi se connectant directement a internet ça marcherai.

si vous voulez tenter une connection copiez ce code et executez le : (je précise que ça ne marchera que jusqu'a ce que mon IP change cad aujourdui)

Private Sub Form_Load()
Form1.AutoRedraw = True

Winsock1.RemoteHost = "212.194.75.7"
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemotePort = 500
Winsock1.Connect

Print "Patientez..."
End Sub

Private Sub Winsock1_Connect()
Print "Connecté"
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Print "Erreur" & Description
End Sub


allez, testez ! et prevenez moi si ça marche pas ! :big)
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

psycocrash a dit :
Attend, tu es dans un réseau local et un client qui n'est pas dans ce réseau local doit se connecter a ton serveur ? ci c'est sa et bien c'est impossible car ton serveur à une ip interne, dans non valable pour Internet


Oui c'est ce a quoi j'ai conclut, mais pour le test j'avais lancer l'application serveur sur l'ordi qui possede la connexion internet,
et ça Winsock1.RemoteHost = "212.194.75.7", c'etait l'adresse IP net de l'ordi.

Mais donc en théorie ça fonctionne ! :)

acive a dit :
J'ai déjà eu le même problème que toi et la seule solution pour connaitre l'IP distante c'est laisser une application touner qui incrit à chaque fois l'IP dans un fichier txt dans un site FTP et quand t'as besoin tu consultes ce fichier avant la connection pour avoir l'IP..


Pas con ! avec un pote on avait pensé créer un site pour y mettre l'adresse IP du serveur a chaque fois quelle change, mais pour les test préliminaire ton idée est la meilleur.

Merci beaucoup les gars !!!! 8-)