Client/Server Socket-Anwendung



  • Hallo,

    habe folgendes Problem: Ich möchte eine Client/Server Socket-Anwendung auf Basis von TCP bzw. UDP schreiben. Der Server soll auf einem best. Port auf Anfragen des Clients warten. Der Client schickt dem Server dann eine bestimmte Menge an "Daten" und misst dann die Zeit, bis die "Daten" beim Client wieder ankommen.

    Hoffe, Ich habe mich einigermassen verständlich ausgedrückt... - das Ganze möchte Ich dialogbasiert (jeweils ein Client bzw. Server) realisieren.

    Der Auf- und Abbau der Verbindung zwischen Client und Server ist mir im Grossen und Ganzen klar... - mein Problem liegt im "Senden von Daten" und der "Zeitmessung".
    Der Grund bzzgl. der Zeitmessung liegt einfach nur darin, wie lange IP-Pakete (verschiedener Grösse) vom Client zum Server und wieder zurück brauchen.

    Ich glaube mich zu erinnern, dass ja IP-Pakete immer eine best. Mindestgrösse haben... - vielleicht kann mir da jemand ein Paar Tipps geben...

    Vielleicht hat jemand von Euch schon mal so etwas (oder ähnliches) gemacht und kann mir weiterhelfen.

    Vielen Dank schon mal
    -Stephan



  • www.mut.de -> leseecke -> vc++ 6 in 21 tagen -> sockets



  • Zunächst mal Danke für deine Hilfe... - mein Problem liegt aber mehr im Bereich der Zeitmessung (d.h. wie lange braucht ein IP-Paket bestimmter Grösse vom Client zum Server und wieder zurück).

    Gibt es hierfür geeignete Klassen, die Ich lediglich beim Senden des Pakets mitaufrufen muss, um mir die Zeit in ms bzw. sec zu liefern? 😕

    Vielleicht kann mir ja jemand weiterhelfen...

    Danke
    -Stephan



  • Hi,

    // Nachricht senden
    iSent = m_sConnectSocket.Send(LPCTSTR(m_strMessage), iLen);
    

    Mit diesem Stück Code beginnt der Client einen String an den Server zu senden, wobei der Server den String sofort wieder an den Client zurückschickt.

    Hierbei würde Ich gerne die Zeit messen (ab dem Zeitpunkt, wo der Client den String wegschickt --> bis er ihn wieder zurückgeschickt bekommt).

    Kann mir jemand einen Tipp geben, wie Ich dieses Problem lösen kann? 😕

    Ciao,
    Jackler



  • guck dir mal QueryPerformanceTimer und das ganze Zeugs drumrum an.



  • "QueryPerformanceTimer" kann Ich nicht finden... - oder hast Du "QueryPerformanceCounter" gemeint?



  • Kennt jemand sonst noch irgendwelche Klassen, die mir für die Zeitmessung von IP-Paketen helfen könnten?

    MfG
    -Jackler



  • Hallo,

    kann mir vielleicht jemand ein Beispiel zu QueryPerformanceCounter geben (komme mit dieser Funktion irgendwie nicht ganz klar... 😮 )

    Danke schon mal
    -Jackler



  • Moin!
    Such mal auf Codeproject nach CPing. Wennst nix findest, kann ichs dir mal schicken. Da gibts ne fertige KLasse.
    Außerdem würde ich den Server nicht mit CSocket CAsyncSocket schreiben. Also wenn du mehrere Connection haben willst (so hab ichs verstanden), dann würde ich WinSocks verwenden.

    mfg mike



  • Hab' die Klasse "CPing" von PJ Naughter gefunden... - werde es mir gleich mal ansehen...

    Vielen Dank für den Tipp *mike*

    -Jackler


Anmelden zum Antworten