PDA

View Full Version : QTcpServer



DmitryNik
25th October 2011, 13:36
Hello!

I would like to create a server- And here is the problem: server will accept some messages and for certain message server suppose to do some certain work. If I'll use if ... else statements it will look like a "macaroni" code: long and useless. Is any other way, not if ... else? For instance, creating for each command its own class and building during runtime, when command was received from client, using reflection(.Net mechanism)?

Thank you for your answers beforehand.

Added after 1 27 minutes:

I got it=) Next time I need to read documentation more carefully. So the solution is:
- Create the class;
- Put there methods with Q_INVOKABLE;
- Use QMetaObject::invokeMethod(...) //for more information read documentation

But here is another question: How much it will slow down the program?


And looking on that method: QObject * newInstance ( QGenericArgument val0 = QGenericArgument( 0 ), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument() ) const

I guess we can't create the instance of the class by name. Am I right?