[C++/VB] Software "interconnect"

Pagina: 1
Acties:

  • Bazz0847
  • Registratie: Mei 2004
  • Laatst online: 14-05 14:25
Hey mensen,

Ik heb een programma geschreven om digitale schakelingen te simuleren, met linked lists etc. Het draait gewoon in een terminal (windows). Het werkt allemaal netjes enzo, ik wil echter een soort van remote-control maken, waarmee ik dus op een andere PC met het programma kan werken.

Ik heb een winsock clientje gemaakt, dat werkt allemaal. De vraag is eigenlijk, of ik de console als het ware kan opvangen met een programma wat de inputs en outputs (streams) beheert, zodat het eigenlijke programma niet aangepast hoeft te worden, maar het als het ware in een shell draait. Hoe kan ik dit zo eenvoudig mogelijk maken?
Het is puur de bedoeling dat alle printf's en scanf's etc gewoon door de shell gelezen en gegeven worden ipv door de gebruiker.

Alles is in C++ geschreven, behalve de winsock client, die is VB. Het liefst zou ik de shell dus ook in VB maken; lekker makkelijk, en het vereist toch geen hoge performance.

RDP etc zijn geen optie, helaas; het moet zelfgeschreven software zijn.
Bedankt voor de antwoorden alvast!

[ Voor 9% gewijzigd door Bazz0847 op 04-02-2005 17:13 ]

Maker van de HeatMeister (voorheen HeatBooster) ventilatorsturing


  • Bazz0847
  • Registratie: Mei 2004
  • Laatst online: 14-05 14:25
*klein schopje*

Niemand die hier een antwoord op heeft? :(

Maker van de HeatMeister (voorheen HeatBooster) ventilatorsturing


  • Gondor
  • Registratie: September 2003
  • Laatst online: 00:15
Ik weet niet of ik je goed heb begrepen maar hier een poging:

Je zou een module kunnen bijschrijven die tussen jouw prog en de UI komt. Hiermee verander je niks aan de bestaande code, maar wel de prog zelf. Ook kan dit onder windows best lastig worden omdat win in sommige gevallen de controle niet volledig over laat, vooral als het richting hardware gaat.

Mij lijkt het makkelijkste manier om alle printf/scanf regels te vervangen met een eigen functie (class method of macro). En vervolgens daarin bepalen wat van/naar je prog komt/gaat. Een soort stub idee.

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Is je C++ programma echte C++? Dan heb je geen printf's en scanf's, maar <iostream>. Dat is makkelijker om te leiden.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Als je het programma opstart vanuit een ander programma middels CreateProcess kun je in de lpStartupInfo parameter gewoon alternatieve stdIn, stdOut en stdError handles opgeven, en dus ook named pipes waarmee je per definitie over het netwerk kunt aansturen of anonymous pipes waarmee het vanuit het parent process kan. Staan gewoon voorbeelden van in MSDN :)

Professionele website nodig?


  • Bazz0847
  • Registratie: Mei 2004
  • Laatst online: 14-05 14:25
bedankt voor de reacties.
Het ziet er interessant uit, mijn probleem is nu echter hoe ik een werkende winsock-server bouw in C++...
@MSalters: nee ik heb printf's en scanf's gebruikt, maar die kun je ombouwen naar fprintf hè!

Maker van de HeatMeister (voorheen HeatBooster) ventilatorsturing


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Bazz0847 schreef op dinsdag 15 februari 2005 @ 14:17:
@MSalters: nee ik heb printf's en scanf's gebruikt, maar die kun je ombouwen naar fprintf hè!
Worden ze daar ineens typesafe of minder buffer-overflow-gevoelig van? :)

Iow: dit is niet het antwoord waar je hem mee geruststelt ;)

Professionele website nodig?


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Als iemand zegt dat 'ie liever VB dan C++ gebruikt dan ben ik voorlopig nog niet gerustgesteld. ;)

Maar het probleem is natuurlijk dat je printf niet zomaar naar fprintf kunt ombouwen - wat doe je met alle code in libraries? Een C++ library die <iostream> gebruikt is te redirecten. printf gaat naar het scherm, tenzij je op OS nivo ingrijpt.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Bazz0847
  • Registratie: Mei 2004
  • Laatst online: 14-05 14:25
Even verhaaltje erbij :)
Ik ben student elektro op de TU/e en we moeten als 'afsluitende' opdracht voor "implementatie van rekenprocessen" (alles wat met hard & software te maken heeft) een programma schrijven waarmee we een logisch circuit in software moeten kunnen representeren en hierop wat berekeningen doen.
Nou is het zo, dat je een voldoende krijgt als je gewoon de basisopdracht doet, en naarmate je meer eigen features inbouwt wordt je cijfer hoger.

Mijn probleem met C++ is dat wij alleen hebben leren 'bitneuken' maar we verder niet echt in de overige delen van de taal zijn ingegaan. Over GUI's hebben we het dus niet gehad, maar over bijvoorbeeld hashtables, ringlinked lists, noem maar op juist weer heel diep.

Daarom leek het me juist leuk om als extra feature iets te bouwen waar we nog helemaal geen kaas van gegeten hebben. Het mag natuurlijk ook iets anders zijn als dat gekke idee van mij, een GUI bijvoorbeeld, maar dat lijkt mij ingewikkelder... :-)

[ Voor 8% gewijzigd door Bazz0847 op 15-02-2005 22:00 ]

Maker van de HeatMeister (voorheen HeatBooster) ventilatorsturing

Pagina: 1