04.11.2012 Aufrufe

KeTop T100 Benutzerhandbuch V4.00 - Keba

KeTop T100 Benutzerhandbuch V4.00 - Keba

KeTop T100 Benutzerhandbuch V4.00 - Keba

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Software <strong>KeTop</strong> <strong>T100</strong><br />

7.9.3.3 Server Implementierung<br />

78<br />

Die Grundlage für den Server sind die beiden Klassen CKVCServer und<br />

CKVCConnection. Die Klasse CKVCServer übernimmt den Aufbau und die<br />

Verwaltung der Verbindungen. Die Klasse CKVCConnection stellt die eigentliche<br />

Verbindung dar.<br />

Um einen Server richtig zu implementieren wird eine Ableitung der Klasse<br />

CKVCServer benötigt.<br />

class CKVCTestServer: public CKVCServer{<br />

public:<br />

CKVCTestServer();<br />

virtual ~CKVCTestServer();<br />

};<br />

CKVCConnection* OnClientConnect(SOCKET socket,<br />

sockaddr_in &sockAdr);<br />

int OnClientDisconnect(CKVCConnection *pConnection,<br />

TKVCDisconInfo info);<br />

In dieser Klasse muss die Methode OnClientConnect überschrieben werden.<br />

In dieser Methode muss ein CKVCConnection Objekt angelegt und<br />

initialisiert werden.<br />

CKVCConnection* CKVCTestServer::OnClientConnect(SOCKET socket,<br />

sockaddr_in &sockAdr){<br />

CKVCTestConnection *pConnect = 0;<br />

... pConnect = new CKVCTestConnection();<br />

if (pConnect != 0){<br />

pConnect->Init(this, socket, sockAdr);<br />

}<br />

...<br />

return pConnect;<br />

}<br />

Die Methode OnClientDisconnect kann überschreiben werden, es muss<br />

jedoch sichergestellt sein, dass in dieser Ableitung die Methode CKVCServer::OnClientDisconnect<br />

aufgerufen wird.<br />

int CKVCTestServer::OnClientDisconnect(CKVCConnection<br />

*pConnection,<br />

TKVCDisconInfo info){<br />

...<br />

return CKVCServer::OnClientDisconnect(pConnection, info);<br />

}<br />

In der Ableitung der Klasse CKVCConnection müssen nur die Event und<br />

Change Methoden abgeleitet werden. Die Get Methoden können abgeleitet<br />

werden, es muss jedoch sichergestellt werden, dass vor Benutzung der Daten<br />

die Methode der Basisklasse aufgerufen wird.<br />

class CKVCTestConnection: public CKVCConnection{<br />

public:<br />

CKVCTestConnection();<br />

virtual ~CKVCTestConnection();<br />

virtual int OnOverrideChange (SINT16 val);<br />

virtual int OnWheelChange (SINT16 wheelAbsVal);<br />

virtual int OnKeyboardEvent (TKVCEvent keyEvent, UINT8 keyNum);<br />

virtual int OnJoystickEvent (TKVCEvent event,<br />

TKVCJoystickData *pJData);<br />

virtual int OnSpaceMouseEvent (TKVCEvent event,<br />

TKVCSpaceMouseData *pSMData);<br />

virtual int OnAliveMsg ();<br />

virtual int OnDisconnect ();<br />

virtual int GetWheelVal (TKVCHandWheelData &hwData);<br />

<strong>Benutzerhandbuch</strong> <strong>V4.00</strong><br />

© KEBA 2009

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!