Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » C/C++ Socket Befehle in String schicken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.05.2011, 21:52 Uhr
~cheloveg
Gast


Hallo,
ich bin neu in der Socket-Programminung in C/C++.
Ich habe Client und Server Socket geschrieben. Momentan kann ich strings zwischen Client und Server schicken und erhalten.
Das Problem liegt daran, dass ich schicke in string name der funktion, attribute und werte von diesen attribute. Es geht z.B. "GET X" or "SET X 2". Ich kann ohne Probleme String aufteilen. Und meine Programm weiss dass das erste Wort ein Function symbolisiert, zweites ist name der attribute und drittes ist wert.

Ich weiss noch nicht, wie ich meinem Programm sagen kann, dass wenn das Wort "GET" erhalten wird, soll das programm function get ausführen. Ich habe zuerst gedacht über switch-case. Aber es gibt viele Funktionen. und es wird lange dauern, um alle mögliche variante durchzugehen. Vlt. weiss jemand von euch, ob ein algorithm oder technik für mein Problem gibt?

Vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.05.2011, 22:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,

naja was du im prinzip machst ist RPC - remote procedure calls

Am einfachsten wohl in der form: du füllst eine map mit funktionsname (z.b GET) und einem funktionspointer (z.b &myget_function)

die funktionen erwarten dann z.b ein array aus (string)argumenten.

dann kannst du das z.b so splitten:

GET X:
funktion GET
parameter: array('X')

SET X 2:
funktion SET
parameter: array('X', '2')

in deiner map hast du dann:


C++:
map['GET'] = &myget_function;
map['SET'] = &myset_function;



dann im prinzip in der form

map[funktion]->second(parameter);

ausführen (du solltest natürlich prüfen ob "funktion" überhaupt in der map existiert!)
--
class God : public ChuckNorris { };

Dieser Post wurde am 04.05.2011 um 22:18 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.05.2011, 22:22 Uhr
~cheloveg
Gast


Vielen Vielen Vielen Dank!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: