gregmena
Messages postés22Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention19 novembre 2006
-
29 oct. 2003 à 09:41
cs_the_best
Messages postés212Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention 6 avril 2006
-
6 avril 2004 à 11:50
GREG_SIDIUS
Bonjour à tous, je viens de commencer à programmer avec le contrôle Winsock et j'ai un problème. Le voici :
je viens de faire un programme Client<---->Server, mais le problème c'est que mon petit prog fct sur ma machine ou sur un réseau, mais PAS SUR INTERNET, POURQUOI ?
pourtant le serveur est cher un ami, j'ai son ip, et moi je suis le client et ça marche pas.
si vous avez une solution se serait bien sympas.
Voici mon code :
=============SERVEUR===============
Private Sub Command1_Click()
Serveur.LocalPort = 100
Serveur.Listen 'On ouvre le port 100
End Sub
Private Sub Form_Unload(Cancel As Integer)
Serveur.Close
End Sub
Private Sub Serveur_ConnectionRequest(ByVal requestID As Long)
If Serveur.State <> sckClosed Then 'Si la connection n'est pas fermée,
Serveur.Close 'on la ferme
Serveur.Accept requestID 'On accepte la connection qui arrive
Serveur.SendData "ConnectionOk" 'Et on l'informe du début de la connection
End If
End Sub
Private Sub Serveur_DataArrival(ByVal bytesTotal As Long)
Dim Data As String 'Variable qui va stoker les données
Serveur.GetData Data 'Recevoir les données
Text2.Text = Data
End Sub
================Client==================
Private Sub Command2_Click()
client.Close 'Au cas où il serait encore connecter (évite les plantages)
client.Connect txtIP.Text, 100 'On se connecte
End Sub
Private Sub client_DataArrival(ByVal bytesTotal As Long)
Dim datta As String
client.GetData datta
Label3.Caption = datta
End Sub
Private Sub client_Connect()
MsgBox "connecter ok"
End Sub
Private Sub Form_Load()
txtIP.Text = client.LocalIP 'On met l'IP du PC par défault
End Sub
Private Sub Form_Unload(Cancel As Integer)
client.Close
End Sub
Private Sub Text1_Change()
client.SendData Text1.Text
End Sub
gregmena
Messages postés22Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention19 novembre 2006 29 oct. 2003 à 09:42
GREG_SIDIUS
GREG_SIDIUS
Bonjour à tous, je viens de commencer à programmer avec le contrôle Winsock et j'ai un problème. Le voici :
je viens de faire un programme Client<---->Server, mais le problème c'est que mon petit prog fct sur ma machine ou sur un réseau, mais PAS SUR INTERNET, POURQUOI ?
pourtant le serveur est cher un ami, j'ai son ip, et moi je suis le client et ça marche pas.
si vous avez une solution se serait bien sympas.
Voici mon code :
=============SERVEUR===============
Private Sub Command1_Click()
Serveur.LocalPort = 100
Serveur.Listen 'On ouvre le port 100
End Sub
Private Sub Form_Unload(Cancel As Integer)
Serveur.Close
End Sub
Private Sub Serveur_ConnectionRequest(ByVal requestID As Long)
If Serveur.State <> sckClosed Then 'Si la connection n'est pas fermée,
Serveur.Close 'on la ferme
Serveur.Accept requestID 'On accepte la connection qui arrive
Serveur.SendData "ConnectionOk" 'Et on l'informe du début de la connection
End If
End Sub
Private Sub Serveur_DataArrival(ByVal bytesTotal As Long)
Dim Data As String 'Variable qui va stoker les données
Serveur.GetData Data 'Recevoir les données
Text2.Text = Data
End Sub
================Client==================
Private Sub Command2_Click()
client.Close 'Au cas où il serait encore connecter (évite les plantages)
client.Connect txtIP.Text, 100 'On se connecte
End Sub
Private Sub client_DataArrival(ByVal bytesTotal As Long)
Dim datta As String
client.GetData datta
Label3.Caption = datta
End Sub
Private Sub client_Connect()
MsgBox "connecter ok"
End Sub
Private Sub Form_Load()
txtIP.Text = client.LocalIP 'On met l'IP du PC par défault
End Sub
Private Sub Form_Unload(Cancel As Integer)
client.Close
End Sub
Private Sub Text1_Change()
client.SendData Text1.Text
End Sub
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 11 nov. 2003 à 03:02
txtip.text = client.localip
-1- client.localip n'est pas forcement defini :
par exemple : si tu lance ton pgm hors connexion, le local ip sera 0.0.0.0
-2- tu ne dis pas ce qui ne marche pas : c'est au lancement du pgm ? a la connection ? a l'envoi ou recpetion de donnees ?
-3- n'utilise pas le port 100 : les ports jusque 1024 sont reserves. utilise plutot des ports genre 10000. fais gaffe aussi a ne pas prendre de port utilise par un virus : ton antivirus te jouera des tours dans ce cas
-4- n'utilise pas text1_change pour envoyer. prend plutot un bouton "envoyer" :
sub bpSend_click()
client.senddate text1.text
end sub
-5- dans le serveur : juste histoire de permettre une reconnection apres une deconnexion
private sub serveur_close()
serveur.close
serveur.listen
end sub