Komunikacja w domenie unixowej

0

Mam do napisanie programy (klient i server ) które będą się komunikować w domenie unixowej.
I teraz pytanie co oznacza domena unixowa - prowadzący mówił że nie chodzi o sockety tylko chyba o pliki, jeżeli tak to chodzi o zwykłe pliki czy o jakiś specjalny rodzaj plików?

Pozdrawiam.

0

Twoje "chyba" nic mi nie mowi, ale jesli mowisz, ze nie chodzi o pliki to moze mial na mysli komunikacje miedzyprocesorowa, mozesz skorzystac z funkcji pipe z unistd.h do stworzenia lacza komunikacyjnego i w ten sposob sie komunikowac. Zapisujesz dane do 1 deskryptora tablicy pfd za pomoca funkcji write i w ten sposob mniej wiecej mozesz przesylac miedzy procesami informacje. Wiecej na pewno na ten temat znajdziesz na google ;)

0

Właśnie że chodziło o pliki, i nie wiem czy takie zwykłe czy coś innego, bo jak próbowałem napisać to za pomocą zwykłych plików to wyszło na to że trzeba je otwierać i zamykać aby drugi proces zobaczył zmiany. Chyba że da się zapisać zawartość pliku bez jego zamykania?

0

Tez Ci nie powiem, czy chodzilo o zwykle pliki czy nie. na pewno nie mozesz zrobic tak ze klientem otwierasz serwer i piszesz do niego albo na odwrot bez uzycia gniazd, ale mozesz np. utworzyc jakis plik i do niego pisac komunikaty wysylane przez klienta, a za pomoca serwera bedziesz czytal ten plik i jakos reagowal na komunikaty i odwrotnie, wtedy osiagniesz zamiezony cel w dosyc latwy sposob. Mozesz jeszcze oczywiscie napisac modul serwera i klienta i komunikowac sie przez jadro systemu ale w tym przypadku by to sensu nie mialo.
Jeszcze do glowy mi przychodzi mozliwosc komunikacji przez sygnaly, tylko ze musialbys reagowac tylko na sygnaly wysylane przez serwer albo klienta. Wiecej na razie pomyslow nie mam.

0

Ale w przypadku zwykłych plików fizyczny zapis do pliku następuje jak zamykam plik (fclose) czy nie da się zapisać zawartości bez zamykania pliku(w Linuksie)?

0

Nie bardzo rozumiem, da sie zapisac zawartosc do pliku bez jego zamykania, ale jesli chcesz tak pisac bezposrednio do serwera to jak to sobie wyobrazasz ?

0

Jak pisze do pliku (fprint) to fizycznie do pliku dane są zapisywane po jego zamknięciu czy da się przeprowadzić fizyczny zapis ręcznie bez zamykania pliku ?

0

Chyba wyraznie Ci napisalem ze sie da!

0

Przeczytałem jeszcze raz wypowiedzi i nie widzę sposobu jak to osiągnąć.

0

Za pomoca funkcji read, write, open ;)

0

Ale ja pisze w czystym c a nie c++, poza tym jest taka różnica między fprint a write?

0

Niewiem czy jest taka roznica, nigdy sie nie zastanawialem nad tym, poniewaz nie widzialem potrzeby uzywania funkcji do obslugi plikow z przedrostkiem 'f' :D
Skad pomysl, ze to c++. Te funkcje jak najbardziej sa standardowymi funkcjami operacji I/O jezyka c.
Poczytaj sobie troche najpierw o c, a potem bierz sie za programowanie, bo po pierwsze masz male pojecie o tym jezyku, a po drugie temat zmienia sie w podstawy programowania, a nie jak w temacie komunikacja w domenie unixowej.

0

Dzięki za wszelkie informacje.
Pozdrawiam.

0

mozesz uzyc flush zamiast zamykac plik, aby zobaczyc zmiany

0

Dzięki za podpowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1