KeTop T100 Benutzerhandbuch V4.00 - Keba
KeTop T100 Benutzerhandbuch V4.00 - Keba
KeTop T100 Benutzerhandbuch V4.00 - Keba
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