Powrót na stronę UNIX

Napisz aplikację klient-serwer, która pozwoli na przekierowanie standardowego wejścia do zdalnego pliku.
  Proces serwera po rozpoczęciu działania zaczyna nasłuchiwać na zadanym porcie. Dla każdego zaakceptowanego połączenie, serwer odpala proces potomny, który zaczyna odbierać dane z nowego socketa i zapisywać je do pliku o nazwie {ip_kleinta}_{port_klienta}.out. Jeśli podany plik już istnieje, otrzymane dane należy dopisywać na końcu pliku. Zapisywanie do pliku ma się zakończyć po otrzymaniu EOF. Proces serwera kończy się po naciśnięciu Ctrl+C, czekając oczywiście na wszystkie swoje procesy potomne.
  Proces klienta próbuje połączyć się z hostem serwera na podanym porcie i po pomyślnym połaczeniu zaczyna transmitować dane ze swojego standardowego wejścia do zdalnego komputera. Proces klienta jest odporny na Ctrl+C i kończy swoje działanie po gdy skończą się dane na wejsciu (np. Ctrl+D)

Program pobiera 2 lub 3 parametry:
 <client|server> <port> [server_host] 
Przykładowe składnia polecenia uruchamiającego klienta:
 $ start_tcp client 34567 gamma.mini.pw.edu.pl 
Przykładowe składnia polcenia uruchamniającego serwer:
 $ start_tcp server 34567
Standardowo, przy błędnym wywołaniu należy wyświetlić któtki usage.

Zadanie będzie sprawdzane przez Przeysława Zdroika, należy je wgrać do katalogu /home2/samba/zdroikp/unix

Szczególna uwagę zwracamy na:
Powrót na stronę UNIX