Connexion a un ordinateur distant par winsock

Résolu
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009 - 29 juil. 2004 à 09:46
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009 - 10 août 2004 à 10:07
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

psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
7 août 2004 à 21:29
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
Utilisateur anonyme
8 août 2004 à 09:40
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
Utilisateur anonyme
29 juil. 2004 à 10:17
**** 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...
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
29 juil. 2004 à 10:36
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 ?
0

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

Posez votre question
cs_amiro Messages postés 48 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 8 mai 2005
29 juil. 2004 à 11:18
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
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
29 juil. 2004 à 11:31
merci, je vais essayé !
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
29 juil. 2004 à 11:40
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.
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
29 juil. 2004 à 14:16
exemple:
application client
localport=1000
remoteport=1001

application serveur
localport=1001
remoteport=1000

amiro > ça ne marche pas !
0
cs_amiro Messages postés 48 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 8 mai 2005
30 juil. 2004 à 12:14
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
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
30 juil. 2004 à 16:53
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
0
cs_amiro Messages postés 48 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 8 mai 2005
31 juil. 2004 à 11:07
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
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
31 juil. 2004 à 13:15
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)
0
Prog1001 Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 22 septembre 2009
10 août 2004 à 10:07
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-)
0