Einzelnen Beitrag anzeigen

ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#1

Befehle trennen

  Alt 2. Sep 2012, 19:43
Moin,
ich bastel an einem Tool, mitdem 2 PC's über die Sockets kommunizieren (Indy war mir irgendwie komisch mit dem Writln und Readln da ). Einer ist der Server, der andere der Client . Jetzt habe ich ein ListView im Report-Modus, wo ein Paar Infos reinkommen. Name, des Clienten (sendet der Client natürlich), IP, Benutz welcher am Remote-PC sitz, Version des Clienten und Ping. Wenn sich der Client verbindet, soll er mir alles außer seiner IP und dem Ping senden (mache ich am Server mit Socket.RemoteAdress). Dafür habe ich mir folgendes überlegt:

Delphi-Quellcode:
procedure TfrmMain.TCPClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Socket.SendText('remoteinfo§' + Name + '#' + ComUser + '#' + APP_VERSION);
end;
'remoteinfo' ist der Befehl, dass das nachfolgende alles die Infos des Remotecomputers sind. '§' ist das Ende des Befehls und '#' grenzen die einzelnen Infos voneinander ab.

Name = Name des Clienten
ComUser = Name des Benutzers, der am PC angemeldet ist
APP_VERSION = Eine konstante mit der Versiond es Clienten

Aber ich weiß nicht wie ich alles voneinander trennen soll. Ich habe zwar das hier, aber ich kriege es nicht zusammen Dazu kommt dann noch wie das mit der Abfrage am Server ist.

Delphi-Quellcode:
procedure TfrmMain.TCPServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  case Socket.ReceiveText of
    'Befehl': {das mit dem trennen ist aber jetzt komisch, denn der ReceiveText ist ja nicht nur der Befehl, sonder auch die Info :/ Also muss ich erst Befehl und Info trennen... Irgendwie davor...};
  end;
end;
Hoffe ihr könnt mir auf die Sprünge helfen ...

[EDIT]: Zumindestens weiß ich, wie ich mit Pos mein Befehlszeichen ausmachen kann... Immerhin etwas
Lukas

Geändert von ByTheTime ( 2. Sep 2012 um 19:59 Uhr)
  Mit Zitat antworten Zitat