qt netzwerk performance
Verfasst: 18. Juli 2006 09:43
hallo an alle,
ich benutze qt 4.1.x mit vs7.1 (2003er version) auf winxp.
folgendes hab ich gecoded: ein (qtcp)server und clients über qtcpsocket. beide sind gui anwendungen (wegen einfacher anzeige von daten :). die server-seite "empfängt" clients, hält on-/offline status aller clients (ok, momentan nur 2), schickt die daten des einen clients (sagen wir mal generator-client) zum anderen client (verbraucher-client). je client/server verbindung mache ich nur ein qtcpsocket mit readwrite zugriff auf. über einen start-befehl veranlasse ich das generator-client ein paar werte zu generieren, bis vom server ein stop-befehl gesendet wird.
momentan sendet der generator alle 5ms 3 double werte an den server und dieser weiter an den verbraucher. wenn ich das alles auf nur einem rechner laufen lasse, dann funktioniert alles ganz gut. alle daten werden schnell empfangen.
benutze ich aber z.b. 2 pc's (verbunden über einen 100mbit hub/switch, nicht weiteres), wobei ich die server/clients in verschiedenen kombinationen auf den pc's getestet habe, dann werden irgendwie nur 5-7 (ca alle 20ms) nachrichten vom server empfangen. der rest geht verloren.
was mache ich oder qt (hab auch einige post zu qt's performance problemen gelesen) oder windows falsch? ich brauche schon alle informationen, die mein generator-client generiert. würde die übertragung vielleicht mit udp paketen schneller gehen? sollte ich mehrere socket-verbindungen aufbauen (eine für nur lesen, eine für nur schreiben)? sollte ich vielleicht ein anderes netz paket (winsock, raknet, ...) benutzen als qnetwork?
kann mir jemand rat geben?
grüße,
criss
ich benutze qt 4.1.x mit vs7.1 (2003er version) auf winxp.
folgendes hab ich gecoded: ein (qtcp)server und clients über qtcpsocket. beide sind gui anwendungen (wegen einfacher anzeige von daten :). die server-seite "empfängt" clients, hält on-/offline status aller clients (ok, momentan nur 2), schickt die daten des einen clients (sagen wir mal generator-client) zum anderen client (verbraucher-client). je client/server verbindung mache ich nur ein qtcpsocket mit readwrite zugriff auf. über einen start-befehl veranlasse ich das generator-client ein paar werte zu generieren, bis vom server ein stop-befehl gesendet wird.
momentan sendet der generator alle 5ms 3 double werte an den server und dieser weiter an den verbraucher. wenn ich das alles auf nur einem rechner laufen lasse, dann funktioniert alles ganz gut. alle daten werden schnell empfangen.
benutze ich aber z.b. 2 pc's (verbunden über einen 100mbit hub/switch, nicht weiteres), wobei ich die server/clients in verschiedenen kombinationen auf den pc's getestet habe, dann werden irgendwie nur 5-7 (ca alle 20ms) nachrichten vom server empfangen. der rest geht verloren.
was mache ich oder qt (hab auch einige post zu qt's performance problemen gelesen) oder windows falsch? ich brauche schon alle informationen, die mein generator-client generiert. würde die übertragung vielleicht mit udp paketen schneller gehen? sollte ich mehrere socket-verbindungen aufbauen (eine für nur lesen, eine für nur schreiben)? sollte ich vielleicht ein anderes netz paket (winsock, raknet, ...) benutzen als qnetwork?
kann mir jemand rat geben?
grüße,
criss