Kornel napisa3(a):
> Hej,
> Zastanawiam sie czy jest w ogóle mo?liwe aby dwa (albo wiecej) procesów
> pisa3y do jednego pliku jednocze?nie? (Pod Windows XP i nowsze).
> Generalnie chodzi o jedn? aplikacje która bedzie odpalona w kilku instancjach
> na i chcia3bym aby logowa3a do jednego pliku. Moje pomys3y:
> 1. Serwer, co? jak syslog do którego bym wysy3a3, on by zapisywa3
> 2. Otwieram plik, zapisuje co trzeba, zamykam, otwieram, pisze, zamykam ....
> 3. Próbowa3em z
> FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write,
> FileShare.ReadWrite); i zapisuje mi wtedy tylko jeden z nich.
> 4. ...?
>
> P.S. Je?eli z3a grupa to sory, nie bardzo widze tutaj pl.comp.lang.csharp
>
Zrób serwera nas3uchujacego na okre?lonym socket-cie np na
localhost:port. Przyjdzie po3?czenie, to odpal w?tek (reader) na tym
po3?czeniu. Reader odebrany komunikat przesy3a mechanizmem mutex-owym do
innego w?tku odpalonego wcze?niej (writer), który czeka na tym mutex-ie
na komunikaty. Jak jaki? odbierzemy to zapisujemy go do pliku i znowu
czekamy.
Robi3em to w C korzystajac z biblioteki pthread, w C# te? sie powinno.
Zamiast socketów i mutex-ów pomy?l o gotowym mechanizmie IPC typu
kolejka komunikatów. XP s? chyba POSIX-o podpbne? :-)
Edward