Bonjour,

Je suis vraiment débutant et completement neuf ici au forum.

J´ai un probléme avec une connection TCP.

Je dois me connecter a un TCP port, puis envoyer une séquence pour le login, d´aprés que le login est ok je recoit un string de retour.
Jusque la tout fonctionne.

Mais maintenant mon probléme, je dois rester connecté avec mon login et mot de passe, est dans cette session je dois continuer an envoyer des sequences par ex. port1on ou port1off.

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
24
25
26
27
28
29
30
31
32
33
34
 
procedure TForm4.Button1Click(Sender: TObject);
Var
  Result, Login, port1on, port1off: string;
 
begin
  // IdTCPClient1.Host := 'localhost';
  // IdTCPClient1.Port := 6354;
  // IdTCPClient1.ConnectTimeout := 2000;
 
  Login := #$01#$02#$55#$53#$45#$52#$3a#$61#$64#$6d#$69#$6e#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$50#$57#$44#$3a#$61#$64#$6d#$69#$6e#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$20#$01#$00;
  port1on :=
    #$04#$01#$02#$2#$3c#$00#$0a#$01#$ff#$00#$00#$00#$00#$00#$00#$00#$fe;
  port1off :=
    #$04#$01#$02#$2#$3c#$00#$0a#$01#$00#$00#$00#$00#$00#$00#$00#$00#$fe;
 
  if IdTCPClient1.Connected = False then
    IdTCPClient1.Connect
  else
  begin
    try
 
      IdTCPClient1.IOHandler.Write(Login);
      repeat
      until not IdTCPClient1.IOHandler.CheckForDataOnSource(5000);
 
      // return whatever was actually read
      Result := IdTCPClient1.IOHandler.InputBufferAsString;
      Memo1.Lines.Add(Result);
    finally
      IdTCPClient1.Disconnect;
    end;
  end;
end;