Frage

Ich habe ein Netzwerk C ++ Programm in Windows, die ich für Netzwerk trennt zu verschiedenen Zeiten testen möchte. Was sind meine Optionen?

Zur Zeit bin ich:

  1. Eigentlich das Netzwerkkabel von der Rückseite meines Computers trennen
  2. mit ipconfig / release
  3. Mit dem cports Programm vollständig die Buchse schließen out

Keine dieser Methoden sind jedoch ideal für mich, und ich möchte Netzwerkprobleme leichter emulieren.

ich manchmal möchte eine Verbindung zu scheitern, manchmal Buchse zum Scheitern verurteilt liest, und manchmal Socket schreibt zum Scheitern verurteilt. Es wäre toll, wenn es einige Dienstprogramm ist konnte ich diese Art von Problemen zu emulieren verwenden.

Es wäre auch schön, in der Lage sein, einige automatisierten Unit-Tests zu bauen, während diese emulierten schlechtes Netzwerk liegt.

War es hilfreich?

Lösung

Sie möchten vielleicht zu abstrahieren die Netzwerkschicht, und dann können Sie Unit-Tests haben, die interessante Fehlerereignisse an geeigneten Stellen zu injizieren.

Andere Tipps

Die nächstgelegene ich denken kann, ist, etwas zu tun ähnlich mit VEDekstop von Shunra ..

simulieren hohe Latenz und niedrige Bandbreite in Prüfung von Datenbankanwendungen

Shunra VE Desktop Standard ist eine Windows-basierte Client-Software-Lösung, die einen Wide Area Network Link simuliert, so dass Sie Anwendungen unter einer Vielzahl von aktuellen und potenziellen Netzwerkbedingungen testen können -. Direkt von Ihrem Desktop

Sie können die Unterklasse, was Bibliotheksklasse Sie Ihre Sockets verwalten verwenden (vermutlich CAsyncSocket oder CSocket, wenn Sie MFC verwenden), die Methoden außer Kraft setzen, deren Ausfall die Sie testen möchten, und in Überschreibungs entsprechenden Prüfregeln einzufügen.

Es gibt einige Methoden, die Sie verwenden können, ist es abhängig, auf welcher Ebene Sie testen möchten. Für die Funktionsebene können Sie xUnit Test-Framework zu verspotten eine Antwort-verwenden. Für Software-Ebene können Sie einen lokalen Proxy-Server zu contral Verbindung verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top