![]() |
Die an den Server gesendeten Kommandos, sowie die vom Server gesendeten Antworten werden mittels TSRCPCmd interpretiert und umgesetzt. in TSRCPBaseClient werden die grundlegenden Einstellungen für die Kommunikation vorgenommen. So wird auf dieser Ebene z.B. die zu verwendete Protokollversion festgelegt. Zudem bietet diese Klasse die Möglichket, die Kommunikation zu protokollieren.
Indy arbeitet mit Non-Blocking Threads. Um zu verhindern, daß bei langen Antwortszeiten des Servers die Benutzeroberfläche nicht reagiert, sollte eine Komponente vom Typ IdAntiFeez mit auf das Formular gesetzt werden. Diese ist in der Komponentenpallete auf der Seite 'Indy Misc' zu finden.
Properties | Methods | Events |
---|---|---|
ClientMode | SendCommand | OnError |
SessionID | ReceiveAnswer | OnLog |
Response | Connect | |
LogEnabled | Disconnect | |
Version |
Bestimmt den verwendeten Verbindungsmodus, der während der Handshake-Phase
ausgehandelt wird. Es kann zwischen Kommando- und Info-Modus ausgewählt
werden.
|
Vom Server beim erfolgreichen Verbindungsaufbau übermittelte
Identifikationsnummer des SRCP-Clients. Mit dieser Nummer kann der
Client eindeutig identifiziert werden.
|
Dieser Eigenschaft beinhaltet immer die letzte empfangene Antwort des
Servers ohne eine weitere Verarbeitung.
|
Schaltet die Protokollierung der Kommunikation ein oder aus. Ist
LogEnabled auf True gesetzt, wird für jede gesendete und empfangene
Textzeile ein OnLog Event ausgelöst.
|
Mit dieser Eigenschaft kann eine bevorzugte Protokoll-Version ausgewählt
werden. Der Server übermittelt beim ersten Kontakt die von ihm
unterstützten Protokollversionen. Nur aus der Schnittmenge zwischen der
vom Server übermittelten Liste sowie der vom Client unterstützen Versionen
kann die zu verwendende Version ausgewählt werden.
Der Client versucht die neueste Version die von Client und Server unterstützt wird, zu verwenden. |
procedure SendCommand(Cmd: TSRCPCmd);
Sendet das in Cmd angegebene SRCP-Kommando an den Server.
|
function ReceiveAnswer(Cmd: TSRCPCmd): Boolean;
Wartet auf die Antwort eines Servers. Der vom Server empfangene
Antwortstring wird interpretiert und in Cmd gespeichert. Wurde die
Antwort erfolgreich interpretiert ist der Rückgabewert True.
|
Versucht eine Verbindung mit dem in der von TIdTCPClient geerbten
Eigenschaft Host genannten Server aufzubauen. Der verwendete Port wird
aus der von TIdTCPClient geerbten Eigenschaft Port entnommen.
|
Beendet eine Verbindung zu einem Server.
|
Ereigniss wird durch eine nicht interpretierbare Server-Antwort
ausgelöst.
|
property OnLog: TLogEvent;
Ereigniss wird bei jedem Senden und Empfangen einer Textzeile ausgelöst.
LogEnabled muß auf True gesetzt sein, damit der Event ausgelöst wird. |