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
Merci
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
Patrick
Partager