begin process at 2012 02 14 01:05:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

pbm d envoi de donnée en socket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pbm d envoi de donnée en socket

lundi 3 octobre 2005 à 23:59:13 | pbm d envoi de donnée en socket

jhd

voila je n arrive pas a envoyer des données ligne par ligne du serveur vers le client. celle ci s ajoute les une au autre et lorsque je les recois coté client elle sont sur une seule ligne.

voici le code server:
Private Sub cmdtmp_Click()
' Nom de l ordi
    Dim dwLen As Long
    Dim strString As String
    dwLen = MAX_COMPUTERNAME_LENGTH + 1
    strString = String(dwLen, "X")
    GetComputerName strString, dwLen
    strString = Left(strString, dwLen)
'    formServer.winsock.SendData ("€PCinfo Nom PC: " & strString & vbNewLine)
' Nom de l Utilisateur
    dwLen = MAX_COMPUTERNAME_LENGTH + 1
    strString = String(dwLen, "X")
    GetUserName strString, dwLen
    strString = Left(strString, dwLen)
'    formServer.winsock.SendData ("€PCinfo Nom Utilisateur: " & strString & vbNewLine)
' Version de windows
    Dim OSInfo As OSVERSIONINFO, PId As String
    OSInfo.dwOSVersionInfoSize = Len(OSInfo)
    'Get the Windows version
    Ret& = GetVersionEx(OSInfo)
    'Chack for errors
    If Ret& = 0 Then End
    'Print the information to the form
    Select Case OSInfo.dwPlatformId
        Case 0
            PId = "Windows 32s "
        Case 1
            PId = "Windows 95/98"
        Case 2
            PId = "Windows NT "
    End Select
'    formServer.winsock.SendData ("€PCinfo OS: " & PId & vbNewLine)
'    formServer.winsock.SendData ("€PCinfo Win version: " & Str$(OSInfo.dwMajorVersion) + "." + LTrim(Str(OSInfo.dwMinorVersion)) & vbNewLine)
'    formServer.winsock.SendData ("€PCinfo Build: " & Str(OSInfo.dwBuildNumber) & vbNewLine)
End Sub

et le code cote client:
Private Sub winsock_DataArrival(ByVal bytesTotal As Long)
    Dim buffer As String
    buffer = Space(512)
    winsock.GetData buffer, vbNewLine
    txtTmp.Text = txtTmp.Text & buffer & vbNewLine
    Dim varTrigger() As String ' tableau coupant chaq mots
    Dim varTmp As String
    varTrigger = Split(buffer, Chr(32))
    If (StrComp(varTrigger(0), "€Password") = 0) Then
        Dim varPassword As String
        varPassword = InputBox("Entrez le mot de passe", "Identification au serveur")
        winsock.SendData "$Password " & varPassword
    ElseIf (StrComp(varTrigger(0), "€PassOK") = 0) Then
        fctShowMenu
    ElseIf (StrComp(varTrigger(0), "€PCinfo") = 0) Then
        varTmp = Mid(buffer, InStr(1, buffer, " "))
        formPCinfo.txtInfoPC.Text = formPCinfo.txtInfoPC.Text & varTmp
    End If
End Sub

en plus je ne recoi que les deux premier winsock.sendata sur une seule ligne.

Merci de votre aide
www.jhdcript.com ( Tout N Est Qu Une illuSion )
mardi 4 octobre 2005 à 01:28:33 | Re : pbm d envoi de donnée en socket

pcpt

Administrateur CodeS-SourceS
salut


bah ouai, normal, tu ne laisses pas de temps entre tes envoies

Public Function SendDataSock(WSK As Winsock, sChaine As StringAs Boolean 
    '
    'à utiliser de la manière suivante :
    '       call SendDataSock(formServer.winsock, "MonMessageSansLeSeparateurFinal")
    '
    '
    'oubien :
    '       VariableBoolean = SendDataSock(formServer.winsock, "MonMessageSansLeSeparateurFinal")
    '
    'pour ainsi tester si besoin si le Socket est bien toujours connecté
    '
    '
    If WSK.State <> 7 Then 
        SendDataSock = False 
    Else 
        WSK.SendData sChaine & vbNewLine 
        DoEvents  '<- c'est lui qui donne la main au système, et permet la séparation
                 '   de 2 envoies consécutifs
        SendDataSock = True 
    End If 
End Function 




' --------------------
' voici le code server:
' --------------------
    '
    '
Private Sub cmdtmp_Click() 
' Nom de l ordi
    Dim dwLen As Long 
    Dim strString As String 
    dwLen = MAX_COMPUTERNAME_LENGTH + 1 
    strString = String(dwLen, "X") 
    GetComputerName strString, dwLen 
    strString = Left(strString, dwLen) 
    '
    '<MODIF>
    'formServer.winsock.SendData ("€PCinfo Nom PC: " & strString & vbNewLine)
    Call SendDataSock(formServer.Winsock, "€PCinfo Nom PC: " & strString) 
    '</MODIF>

' Nom de l Utilisateur
    dwLen = MAX_COMPUTERNAME_LENGTH + 1 
    strString = String(dwLen, "X") 
    GetUserName strString, dwLen 
    strString = Left(strString, dwLen) 
    '
    '<MODIF>
    'formServer.winsock.SendData ("€PCinfo Nom Utilisateur: " & strString & vbNewLine)
    Call SendDataSock(formServer.Winsock, "€PCinfo Nom Utilisateur: " & strString) 
    '</MODIF>


' Version de windows
    Dim OSInfo As OSVERSIONINFO, PId As String 
    OSInfo.dwOSVersionInfoSize = Len(OSInfo) 
    'Get the Windows version
    Ret& = GetVersionEx(OSInfo) 
    'Chack for errors
    If Ret& = 0 Then End 
    'Print the information to the form
    Select Case OSInfo.dwPlatformId 
        Case 0 
            PId = "Windows 32s " 
        Case 1 
            PId = "Windows 95/98" 
        Case 2 
            PId = "Windows NT " 
    End Select 
    '
    '<MODIF>
    'formServer.winsock.SendData ("€PCinfo OS: " & PId & vbNewLine)
    'formServer.winsock.SendData ("€PCinfo Win version: " & Str$(OSInfo.dwMajorVersion) + "." + LTrim(Str(OSInfo.dwMinorVersion)) & vbNewLine)
    'formServer.winsock.SendData ("€PCinfo Build: " & Str(OSInfo.dwBuildNumber) & vbNewLine)
    Call SendDataSock(formServer.Winsock, "€PCinfo OS: " & PId) 
    Call SendDataSock(formServer.Winsock, "€PCinfo Win version: " & Str$(OSInfo.dwMajorVersion) + "." + LTrim(Str(OSInfo.dwMinorVersion))) 
    Call SendDataSock(formServer.Winsock, "€PCinfo Build: " & Str(OSInfo.dwBuildNumber)) 
    '</MODIF>

End Sub 







' ----------------------
' et le code cote client:
' ----------------------
    '
    '
Private Sub winsock_DataArrival(ByVal bytesTotal As Long
    Dim buffer As String 
    buffer = Space(512) 
    Winsock.GetData buffer, vbNewLine 
    txtTmp.Text = txtTmp.Text & buffer & vbNewLine 
    Dim varTrigger() As String  ' tableau coupant chaq mots
    Dim varTmp As String 
    varTrigger = Split(buffer, Chr(32)) 
    If (StrComp(varTrigger(0), "€Password") = 0) Then 
        Dim varPassword As String 
        varPassword = InputBox("Entrez le mot de passe", "Identification au serveur") 
        Winsock.SendData "$Password " & varPassword 
    ElseIf (StrComp(varTrigger(0), "€PassOK") = 0) Then 
        fctShowMenu 
    ElseIf (StrComp(varTrigger(0), "€PCinfo") = 0) Then 
        varTmp = Mid(buffer, InStr(1, buffer, " ")) 
        formPCinfo.txtInfoPC.Text = formPCinfo.txtInfoPC.Text & varTmp 
    End If 
End Sub 


 


Coloration syntaxique automatique [AFCK]
       

PCPT

mardi 4 octobre 2005 à 08:48:50 | Re : pbm d envoi de donnée en socket

jhd

je n ai qu une chose a dire merci mec :)

www.jhdcript.com ( Tout N Est Qu Une illuSion )
mardi 4 octobre 2005 à 09:01:09 | Re : pbm d envoi de donnée en socket

jhd

a tout hasard pkoi coté client on utilise pas
   Call SendDataSock(formServer.Winsock, "$Password " & varPassword )
a la place de 
   Winsock.SendData "$Password " & varPassword 


j ai essayer et ca ne mùarche pas
www.jhdcript.com ( Tout N Est Qu Une illuSion )
mardi 4 octobre 2005 à 09:21:38 | Re : pbm d envoi de donnée en socket

jhd

a oui g encore une petite erreur
ca m affiche cela

 Nom PC: EXIA-JCESTEVEZ1
 Nom Utilisateur: jcestevez OS: Windows NT 
 Win version:  5.1
 Build:  2600

au lieu de 

 Nom PC: EXIA-JCESTEVEZ1
 Nom Utilisateur: jcestevez
OS: Windows NT 
 Win version:  5.1
 Build:  2600

et jvois vrement pas d ou ca vien

www.jhdcript.com ( Tout N Est Qu Une illuSion )

mardi 4 octobre 2005 à 13:10:43 | Re : pbm d envoi de donnée en socket

pcpt

Administrateur CodeS-SourceS
Réponse acceptée !
re,
"a tout hasard pkoi coté client on utilise pas"
bah parce que coté client, ta form ne s'appelle pas formServer
rien ne t'empêche d'utiliser cette même fonction (c'est pour çà que je l'ai déclaré en Public, à toi d'adapter le nom du Winsock concerné)

pour ton dernier problème, essai (sans certitude) de remplacer, dans cmd_tmp, partie nom d'utilisateur
strString = Left(strString, dwLen)
par
strString = Left(strString, dwLen) & chr(32)

et sans rapport, mais il me semble que tu as fait aussi une erreur en case 1 du PId. (manque aussi un espace)

PCPT
mardi 4 octobre 2005 à 13:16:12 | Re : pbm d envoi de donnée en socket

jhd

merci mec :)

www.jhdcript.com ( Tout N Est Qu Une illuSion )


Cette discussion est classée dans : winsock, string, strstring, dwlen, osinfo


Répondre à ce message

Sujets en rapport avec ce message

Winsock [ par mourad183 ] type personne nom as string prenom as string tel as string ... end typedim var1 as personnealors je vx que le serveur envoie Transfert structure via winsock [ par finelame ] Bonjour, je suis en train de développer un petit jeux réseau. Je voudrais transferer des structure de données via le winsock.Dans ma structure y a ple problème avec winsock!! [ par adoula2006 ] Bonjour;le voulais faire une connexion avec winsock à google;alorsj'ai écrit le code suivant : Private Sub Command1_Click()Winsock1.RemotePort = 80Win problème d'envoi de mails [ par dOsSpr0uTosS ] salut à tous, Mon problème c'est que quand j'essai d'envoyer un mail grace a un control winsock il ne se passe rien,dans mon form je met un bouton et Winsock - getdata-String [ par UltimataL ] Bonsoir, Pourquoi je n' arrive pas à traiter les strings du winsock.getdata(data,vbstring,400)directement? IF data.contains("ex") then......... alor transféré de fichier par winsock [ par tonyledragon ] Salut a tous voila j'ai un serveur et un client je voudrais que le client transféré des document style document texte etc au serveur le probleme et qu Longeur d'enregistrement incorrecte [ par airemax ] Bonjour tous le monde je développe une application dans la quelle j'utilise un fichier .txt comme une base de donné (je sais que c'est très con ) et Recherche multi-mots dans des fichiers [ par elguevel ] Bonjour à tous, Je dois créer une application doté d'un moteur de recherche de fichier. Le principe est de trouver des fichiers textes non pas par l richtextbox et synchronisation [ par maya77 ] bonsoir tous le monde voila ce que je cherche à faire est un peu compliquer et à définir et à implémenter!! [^^sad2] j'ai deux richtextbox avec deux


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,165 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales