Communication Winsock -> Socket Script

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 23 sept. 2004 à 14:28
phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008 - 24 sept. 2004 à 03:11
Salut tout le monde.

J ai une question qui me parait difficile (voyons si les crack peuvent y repondre.)

J ai deux programmes qui tournent sous windows et qui utilisent le control winsock pour dialoguer entre eux...

ce qui arrive c est un nouveau client de type LINUX qui utilise le Socket Script pour dialoguer avec moi.

Alors, pour se connecter et envoyer de donnees, pas de probleme, je les recoit bien,

MAIS

le client LINUX ne recoit mes trames que lorsque moi je ferme la connection (liberation du buffer ou autre betise de ce genre...).
alors que pour winsock ces trames sont deja envoye (sendcomplete et tout le tintouin...).

- Y a t il quelques chose que j aurais oublie de configurer dans le winsock (mais il y en a tellement peu.)?

- Est ce que quelqu un a deja eu el meme probleme.

Enfin Bref si quelqu un pouvait me donner un petit coup de main, j aprecierai grandement.

Merci d avance pour vos eventuelles solution.

@+
Julien

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)

5 réponses

K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
23 sept. 2004 à 14:52
J'ai déjà eut un probleme similaire mais je ne suis pas sur que ma solution va être également la tienne.

verifie seulement qu'il y a bien un doevent avant chaque winsock.senddata

K@zuya 8-)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 sept. 2004 à 15:14
Re,

Helas oui le DoEvents y est bien....

J commence a crise un petit peu.... c est le client qui va gueule ;)

D autres idees les gars,

Merci d avance

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008
24 sept. 2004 à 02:16
Bonjour
fait une capture avec un sniffer reseau pour voir ce qui se passe

a++
0
phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008
24 sept. 2004 à 03:08
un petit truc en meme temps dans mon SendHex jai un DoEvents
et entre chaque SendHex
Par ce que sinon jai des coupures
et jattend un peu voir si je vais avoire une réponse
si ca peu t aidé

Private Sub mReset_Click() ' Bouton Reset Carte Reseau
SendHex ("7006910455A5")
DoEvents
SendHex ("5004CE00") 'Demande de passé en mode reseau
DoEvents
SendHex ("70045002") 'Demande de passé a 500Kbs
DoEvents
SendFiltres 'Place les filtres par default
End Sub

'***************************************************
Public Sub SendHex(DataHexa As String)
Dim a As Integer
Dim TotalChaine As String
TotalChaine = ""
For a = 1 To Len(DataHexa) Step 2
TotalChaine = TotalChaine & Chr(Val("&H" & Mid(DataHexa, a, 2)))
Next
FMenu.Winsock1.SendData TotalChaine
WaitRep (5000)
End Sub
Public Sub WaitRep(Temps_Ms As Integer)
'----------------------------------------------------------------------------
' ATTENDRE LA REPONSE APRES ENVOI D'UNE COMMANDE
' ON ATTEND x SECONDE MAXIMUM, OU LA REPONSE
'----------------------------------------------------------------------------
Dim MyTime As Single
Dim a As Integer
For a = 0 To Temps_Ms Step 1
If FMenu.Winsock1.BytesReceived >= 1 Then
Exit Sub
End If
DoEvents
Next
End Sub
0

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

Posez votre question
phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008
24 sept. 2004 à 03:11
un petit truc en meme temps dans mon SendHex jai un DoEvents
et entre chaque SendHex
Par ce que sinon jai des coupures
et jattend un peu voir si je vais avoire une réponse
si ca peu t aidé

Private Sub mReset_Click() ' Bouton Reset Carte Reseau
SendHex ("7006910455A5")
DoEvents
SendHex ("5004CE00") 'Demande de passé en mode reseau
DoEvents
SendHex ("70045002") 'Demande de passé a 500Kbs
DoEvents
SendFiltres 'Place les filtres par default
End Sub

'***************************************************
' ENVOYER LE DATA SUR WINSOCK1
'***************************************************
Public Sub SendHex(DataHexa As String)
Dim a As Integer
Dim TotalChaine As String
TotalChaine = ""
For a = 1 To Len(DataHexa) Step 2
TotalChaine = TotalChaine & Chr(Val("&H" & Mid(DataHexa, a, 2)))
Next
FMenu.Winsock1.SendData TotalChaine
WaitRep (5000)
End Sub
----------------------------------------------------------------------------
' ATTENDRE LA REPONSE APRES ENVOI D'UNE COMMANDE
' ON ATTEND x SECONDE MAXIMUM, OU LA REPONSE
'----------------------------------------------------------------------------
Public Sub WaitRep(Temps_Ms As Integer)
Dim a As Integer
For a = 0 To Temps_Ms Step 1
If FMenu.Winsock1.BytesReceived >= 1 Then
Exit Sub
End If
DoEvents
Next
End Sub
0
Rejoignez-nous