2009-08-03 2 views
2

Ich schreibe eine schnelle Server-App für etwas, also nicht wirklich eine vollständige GUI schreiben wollen. Das Problem ist jedoch, dass der Hauptteil des Servers, jedoch das Konsolenfenster nur Eingabe oder Ausgabe zu einem Zeitpunkt erlaubt.C++ Echtzeit Konsole App, gleichzeitige Eingabe und Ausgabe

Viele Spiele, die eine Konsole haben (normalerweise müssen sie auf die eine oder andere Weise aktiviert werden), lösten dieses Problem, indem sie Eingabe und Ausgabe trennten, so dass die untere Zeile für die Eingabe von Eingabebefehlen reserviert war wird für die Ausgabe wie ein normales Konsolenfenster verwendet.

Ist es möglich, so etwas mit einem Minimum an Arbeit zu tun (dh ohne ein eigenes Konsolenfenster von Grund auf neu schreiben zu müssen), und zwar plattformübergreifend? Idealerweise möchte ich die normale Eingabeaufforderung irgendwie für den Fall verwenden, in dem der Server auf einem System läuft, auf dem nicht alle GUI-Sachen installiert sind, obwohl ich denke, dass ein einfacher GUI-Client, der eine Verbindung zum Server herstellen könnte, auch in Ordnung wäre.

Mit Cross-Plattform meine ich, Windows und Linux-Unterstützung ist erforderlich. Obwohl, wenn ich die Client-GUI-Route-ID ging, auch Mac dazu benötigen.

Antwort

4

Klingt wie Sie einen Blick auf

ncurses

pdcurses

+0

Angesichts der großen Größe dieser Bibliotheken, nehmen Sie nicht an, dass Sie mich auf den Teil hinweisen könnten, der tut, was ich will, um sowohl Eingabe als auch Ausgabe in Echtzeit zu ermöglichen? –

+0

Hier sind einige kurze. http://www.paulgriffiths.net/program/c/curses.php Ich werde sehen, ob ich jemanden mit einem besseren "Eingabe" Beispiel finden kann – epatel

+0

Hier sind ein paar mehr http://static.cray-cyber.org /Documentation/NEC_SX_R10_1/G1AB01E/CHAP9.HTML#9.6 – epatel

0

GUI-Builder verflucht haben, sollten in diesen Tagen sind sehr einfach. Sie können feststellen, dass das Zusammenklicken einer GUI einfacher ist als das Lösen der gewünschten Methode.

Ich bin ein wenig unsicher über den plattformübergreifenden Teil. Können Sie es ein wenig eingrenzen und angeben, welche Plattformen Sie im Sinn haben?

Wenn Sie Linux (das zumindest plattformübergreifend ist) in Betracht ziehen, dann würde ich einen Blick auf ncurses werfen.

+0

Nun, das Erstellen der GUI ist nicht schwer der schwierige Teil, da es nur ein Eingabefeld und eine Reihe von Textelementen mit einer Bildlaufleiste ist. Das Problem ist, ich brauche dann den gesamten Netzwerkcode zwischen der "Admin" -Gui-App und dem Server, um die Befehle etc. zu senden. –

+0

Du würdest ja eine Socket-Verbindung brauchen. Das braucht ein bisschen Klempnerarbeit, aber trotzdem, ich wette, es schlägt Ncurses :-) –