Filemaptest

Tento projekt ukazuje, jak lze paměťově mapované soubory využít k předávání informací mezi dvěma procesy. Přístup k paměťově mapovanému souboru samozřejmě musí být řádně synchronizován, aby nedošlo k problémům.

Pro testování je nutné program fmt spustit ve dvou instancích; jako klient a jako server. Chování obou instancí je následující:

  • Server čeká na zprávy od klienta. Jakmile nějakou dostane, vytiskne její znění a zašle klientovi odpověď v podobě řetězce “OK”.
  • Klient čeká na vstup od uživatele. Pro správné chování programu je nutné zadávat vstup bez mezer a jiných bílých znaků (ke čtení vstupu program používá funkci scanf. Sofistikovanější metody jsem nepoužil, protože čtení vstupu přece jen není to, co má projekt demonstrovat). Vstupní zprávu zapíše do sdílené paměti (reprezentované paměťově mapovaným souborem) a odešle serveru. Následně čeká na odpověď ve tvaru řetězce “OK”.
  • Zpráva “END” ukončuje klienta i server

Klientskou instanci spustíte příkazem fmt –client a serverovou instanci příkazem fmt –server

Na rozdíl od většiny na této stránkce dostupných projektů, tento projekt nevyužívá žádné nedokumentované funkce ani postupy, tudíž by měl fungovat na libovolné verzi operačního systému počínaje Windows 2000.

Stáhnout

Leave a Reply

Your email address will not be published. Required fields are marked *