Bonjour à tous,
j'ai un petit problème avec tcpclient.
J'ai une appli sur une autre machine à laquelle je me connecte à l'aide de la commande :
mTcpClient.Client.Connect(Ip, Port)
La connexion se fait bien car j'arrive à piloter l'autre machine en lui envoyant des commandes.

En revanche, lorsque j'envoie une commande qui demande une réponse, ça fonctionne aussi, mais avec un "train" de retard. Je m'explique :
Si je lui envoie :
- réponds moi "AAA", le client me répond avec qlq chose.
Je luis renvoie :
- réponds moi "AAA", le client me répond avec "AAA"
Je luis renvoie :
- réponds moi "OOO", le client me répond avec "AAA"
Je luis renvoie encore :
- réponds moi "OOO", le client me répond avec "OOO"
etc...
Donc le client me répond avec une commande de retard... et là je seche
Ci dessous le code et si une bonne âme peut m'aider, c'est cool

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Protected Function SendCommand_Received(ByRef GETcommand As String) As String
        Dim FinalGetCommand As String = ""
        Dim retour As String = "No data sent"
        FinalGetCommand = "1 " & GETcommand & Chr(0)
 
        Dim msg As Byte() = Encoding.UTF8.GetBytes(FinalGetCommand)
        Dim bytes(255) As Byte
        Try
            ' Blocks until send returns.
            Dim byteCount As Integer = mTcpClient.Client.Send(msg, SocketFlags.None)
 
            ' Get reply from the server.
            byteCount = mTcpClient.Client.Receive(bytes, SocketFlags.None)
            If byteCount > 0 Then
                retour = Encoding.UTF8.GetString(bytes)
            End If
        Catch e As SocketException
            Return e.ErrorCode
        End Try
        Return retour
 
    End Function
Merci
Patrick