begin process at 2010 02 10 08:22:30
  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 String- chr(13) et chr(10)- retour chariot et ligne feed! [ par UltimataL ] Bonjour, Lors de la communication avec un appareil, je reçois un certains nombres de caractères qui sont séparés par le "chr(10)" qui est donc à la bug de winsock ?? [ par sergiooi ] salut a tous!! j'ai un petit probleme avec winsock,la connexion et tout se fait avec succes mais lorsque jenvoi des données, les données recu sont que Probléme de de gestion de memoir [ par xtravagon ] Salut tt le monde je suis débutant en programmation , j'essaye de faire un programme qui récupère le contenu d'une listeview d'un autre programme avec FileSystemObject : fic.write -> Invalid procedure call or argument [ par kargoles ] Bonjour à tous. Je vous expose mon problème : Je récupère du texte depuis une fenêtre IE et tente de l'écrire dans un fichier (texte) Malheureusemen API URLDownloadToFile avec vb 2008 [ par fconstan ] Bonjour a tous. Je travaille sur un projet vb 2008 qui doit récupérer automatiquement des fichiers sur internet à partir de liens. J'utilise le code


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,482 sec (3)

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