Page 1 sur 1
[..] Connexion client/serveur
Posté : lun. 29 déc. 2008 23:53
par NewHere
Bonjour,
je viens d'essayer de faire une connexion client => serveur, mais erreur lors du tcpsend.
Help me plz !
Client :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <IE.au3>
Dim $WS_popup
dim $ES_AUTOHSCROLL
dim $ES_NUMBER
dim $MainSocket
$F = GUICreate("Client", 363, 498, 393, 117)
GUISetFont(7, 400, 0, "Verdana")
$T = GUICtrlCreateTab(16, 112, 329, 177)
$button1 = GUICtrlCreateButton("Send", 272, 464, 73, 25, 0)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
GUISetState(@SW_SHOW)
$collegue = GUICtrlCreateInput("", 128, 230, 97, 20, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")
while 1
$NMSG = GUIGetMsg()
Switch $NMSG
Case $GUI_EVENT_CLOSE
Exit
TCPStartup()
$MainSocket = TCPConnect($collegue, 2048)
$ConnectedSocket = TCPConnect($MainSocket)
$send = TCPSend($ConnectedSocket, 2048)
Case $button1
$send [2]
While 1
$NMSG = GUIGetMsg()
Switch $NMSG
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
EndSwitch
WEnd
Serveur :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
$g_IP = "192.168.1.20"
TCPStartup()
$MainSocket = TCPListen($g_IP, 2048, 100 )
$ConnectedSocket = -1
Do
$ConnectedSocket = TCPAccept($MainSocket)
Until $ConnectedSocket <> -1
While 1
$ConnectedSocket = TCPAccept($MainSocket)
$recv = TCPRecv($ConnectedSocket, 2048)
if $recv = [2] Then
Exit
Else
MsgBox(0, "Error", "z")
endif
wend
Re: [..] Connexion client/serveur
Posté : mar. 30 déc. 2008 23:35
par NewHere

UP
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 08:56
par Tlem
Nous sommes en période de vacance, donc ce n'est pas en remontant le sujet toutes les 24h que vous aurez forcément une réponse.
J'ai déjà supprimé celui que vous aviez fait hier, soyez donc un peut moins pressant et cherchez sur le forum pour voir si cette question n'aurait pas été déjà abordée.
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 09:27
par Yogui
exemple tout simple mais qui fonctionne
Serveur à lancer en premier :
► Afficher le texte
Code : Tout sélectionner
TCPStartUp()
$MainSocket = TCPListen(@IPAddress1, 65000 )
If $MainSocket = -1 Then Exit
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 0 Then
msgbox(0,"","Client connecté")
while 1
$msg=TCPRecv($ConnectedSocket,1024)
if $msg <> "" then msgbox(0,"Data:",$msg)
if @error then exitloop
wend
EndIf
Wend
Client :
► Afficher le texte
Code : Tout sélectionner
$ipserveur = @IPAddress1 ;"IP du Pc faisant office de serveur"
TCPStartUp()
$MainSocket = TCPConnect($ipserveur, 65000 )
tcpsend($MainSocket,@ComputerName&"|"&@IPAddress1)
sleep(2000)
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 14:47
par NewHere
Merci, mais pour la commande tcpsend et tcprecv comment cela fonctionne, j'ai essayé cela :
Client
► Afficher le texte
Code : Tout sélectionner
$ipserveur = "192.168.1.20" ;"IP du Pc faisant office de serveur"
TCPStartUp()
$MainSocket = TCPConnect($ipserveur, 65000 )
tcpsend($MainSocket,@ComputerName&"|"&@IPAddress1)
sleep(2000)
[color=#FF0000]TCPSend($MainSocket) = ("2")[/color]
sleep(2000)
Serveur
► Afficher le texte
Code : Tout sélectionner
$ip = "192.168.1.20"
TCPStartUp()
$MainSocket = TCPListen($ip, 65000 )
If $MainSocket = -1 Then Exit
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 0 Then
msgbox(0,"","Client connecté")
while 1
$msg=TCPRecv($ConnectedSocket,1024)
if $msg <> "" then msgbox(0,"Data:",$msg)
if @error then exitloop
wend
[color=#FF0000]while 1
$msg=TCPRecv($connectedsocket, 1024)
if $msg = ("2") then msgbox (0, "2", "2 recu")
wend[/color]EndIf
Wend
L'erreur :
C:\Users\****\Desktop\aut2.au3 (7) : ==> Incorrect number of parameters in function call.:
TCPSend($MainSocket) = ("2")
^ ERROR
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 15:24
par Yogui
Cette erreur est normal
tcpsend demande deux paramètre
tcpsend ($MainSocket,"coucou")
vous n'en avez qu'un seul.
TCPSend
--------------------------------------------------------------------------------
Sends data on a connected socket.
TCPSend (mainsocket, data )
Parameters
mainsocket The connected socket identifier (SocketID) as returned by a TCPConnect function.
data binary/string to be send to the connected socket.
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 15:34
par NewHere
Voila j'ai fait comme vous me l'avez indiqué
Serveur
► Afficher le texte
Code : Tout sélectionner
$ip = "192.168.1.20"
TCPStartUp()
$MainSocket = TCPListen($ip, 65000 )
If $MainSocket = -1 Then Exit
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 0 Then
msgbox(0,"","Client connecté")
while 1
$msg=TCPRecv($ConnectedSocket,1024)
if $msg <> "" then msgbox(0,"Data:",$msg)
if @error then exitloop
wend
while 1
$msg=TCPRecv($connectedsocket, 1024)
if $msg = "2" then msgbox (0, "gg", "monfrere")
wend
EndIf
Wend
Client
► Afficher le texte
Code : Tout sélectionner
$ipserveur = "192.168.1.20" ;"IP du Pc faisant office de serveur"
TCPStartUp()
$MainSocket = TCPConnect($ipserveur, 65000 )
tcpsend($MainSocket,@ComputerName&"|"&@IPAddress1)
sleep(2000)
TCPSend($MainSocket, "2")
sleep(2000)
Mais le probleme c'est que cela envoit 2 au serveur et le serveur me sort une msgbox avec en titre data et ecrit 2.
Moi ce que je veux faire fonctionner c'est que : si le client envoie "2" au serveur et que le script du serveur dit que si il recoit 2 alor ... Je fais ceci ou cela comme ouvrir notepad ou un autre truc. Or, ici ca créed une message box avec ecrit 2 :s
Re: [..] Connexion client/serveur
Posté : mer. 31 déc. 2008 17:59
par NewHere
Nouveau probleme, quand je ne mets pas de gui tout fonctionne bien, mais quand je la met, la connection fonctionne mais pas les boutons relier aux tcpsend.
Client :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
dim $WS_EX_TOOLWINDOW
dim $WS_EX_WINDOWEDGE
$Form1 = GUICreate("Msn create u@you.u msn By mickael599", 606, 649, 209, 38, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$connecter = GUICtrlCreateButton("Se connecter", 143, 250, 86, 30, 0)
$envoyer = GUICtrlCreateButton("Envoyer les commandes", 143, 180, 86, 30, 0)
$envoyer2 = GUICtrlCreateButton("Envoyer2 les commandes", 143, 120, 86, 30, 0)
GUISetState(@SW_SHOW)
While 1
$MSG = GUIGetMsg()
Switch $MSG
Case $GUI_EVENT_CLOSE
Exit
case $connecter
$ipserveur = "192.168.1.20"
TCPStartUp()
$MainSocket = TCPConnect($ipserveur, 65000 )
case $envoyer
while 1
tcpsend($MainSocket,@ComputerName&"|"&@IPAddress1)
sleep(2000)
wend
case $envoyer2
while 1
TCPSend($MainSocket, "2")
sleep(2000)
TCPSend($MainSocket, "3")
sleep(2000)
wend
Exit
EndSwitch
WEnd
Serveur :
► Afficher le texte
Code : Tout sélectionner
$ipserveur = "192.168.1.20"
TCPStartUp()
$MainSocket = TCPConnect($ipserveur, 65000 )
tcpsend($MainSocket,@ComputerName&"|"&@IPAddress1)
sleep(2000)
TCPSend($MainSocket, "2")
sleep(2000)
TCPSend($MainSocket, "3")
sleep(2000)