Rpc_project-remote_fifo is a project mainly written in C and C++, it's free.
remote fifo using rpcgen - laboratory project (yes, i am student)
W katalogu głównym uruchamiany plik './make.sh' który skompiluje źródła. Wewnątrz ./bin/ pojawią się 3 pliki: serwer, testowa aplikacja kliencka oraz biblioteka.
Przed pierwszym użyciem jakiejkolwiek funkcji z bibliteki należy ją zainicjalizować funkcją 'init_rf(char* host)', gdzie host to nazwa servera na którym uruchomiony jest server RPC wraz z usługą.
Gdy programista uruchamia wybraną funkcję wykonywane są następujące kroki:
Zwracane jest sterowanie do programu.
Wynik przetwarzania funkcji zostanie przekazany do funkcji zwrotnej podanej przez programistę jako jeden z parametrów funkcji (parametr callback).
Po stronie serwera po odebraniu nowego żądania:
Uruchamiana jest funkcja przetwarzająca żadanie. 2.1. Wykonywane jest zlecone zadanie 2.2. Uruchamiany jest nowy wątek, którego zadaniem jest przesłanie wyników przetwarzania do mini-serwera po stronie klienta.
Nowy wątek jest konieczny by nieprawidłowo wykonany klient odbierający
wyniki nie blokował serwera (ma to miejsce, gdy funkcja klienta
rozpocznie dalsze przetwarzanie przed zamknięciem połączenia).
Odbieranie wyników po stronie klienta: