Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа с файлом / 18 сообщений из 18, страница 1 из 1
12.03.2013, 09:55
    #38180816
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Создаем лог-файл на сервере, а с клиентских приложений будет вестись в него запись. Что будет, если одновременно несколько пользователей будут пытаться записать в файл?
И как правильно организовать работу с одним файлом для нескольких клиентов?
...
Рейтинг: 0 / 0
12.03.2013, 12:52
    #38181138
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
ditban,
раскрой пожалуйста в чём связь твоего вопроса именно с С++.
...
Рейтинг: 0 / 0
13.03.2013, 08:50
    #38182457
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Я работаю с файлом на Си:
fopen_s(&file, "\\\\server\\folder\\File.log", "a+");
fputs("line", file);
fclose(file);
...
Рейтинг: 0 / 0
14.03.2013, 09:33
    #38183239
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
ditban, в С нет никаких стандартных средств для разграничения доступа к файлам. Они могут быть, а могут и не быть, в зависимости от операционной системы и набора библиотек. Так что сообщите ОС и компилятор, которыми пользуетесь.
...
Рейтинг: 0 / 0
14.03.2013, 11:17
    #38183434
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
ditban, обычно так не делают. Лог файл на сетевом хранилище - это не есть гуд.
Мы поимеем полный спектр ситуаций. Лаги. Недоступность. Как будет вести
себя приложение когда лог недоступен ? Я не знаю. Скипать события?
Блокироваться?
...
Рейтинг: 0 / 0
14.03.2013, 12:46
    #38183625
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
maytonditban, обычно так не делают. Лог файл на сетевом хранилище - это не есть гуд.
Мы поимеем полный спектр ситуаций. Лаги. Недоступность. Как будет вести
себя приложение когда лог недоступен ? Я не знаю. Скипать события?
Блокироваться?

Оно будет ВИСНУТЬ.

Да, согласен, очень дурацкая идея.

А на счёт разделения файла на запись -- в винде есть разделение файлов, оно должно работать и с сетевыми файлами,
но это только можно будет открыть файл эксклюзивно на запись одной программой, несколькими программами писать в файл
согласованно вообще не удастся, это надо делать самому.

При этом пользоваться надо функцией open для открытия файла, а не fopen.
http://msdn.microsoft.com/en-us/library/w7sa2b22%28v=vs.71%29.aspx
...
Рейтинг: 0 / 0
14.03.2013, 13:23
    #38183737
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Я имел в виду вопрос. Как ДОЛЖНО вести себя приложение которое желает
срочно залоггировать событие на сетевой лог файл и файл при этом заблочен?
...
Рейтинг: 0 / 0
14.03.2013, 15:06
    #38183986
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
mayton,
Да непонятно. Залогировать невозможность логирования в файл :-)

На самом деле автору топика видимо нужны функции типа
LockFile
UnlockFile
LockFileEx
...
Рейтинг: 0 / 0
14.03.2013, 15:59
    #38184129
m_Sla
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Не проще для этих целей на сервер базу данных поставить?
Проблема параллельной записи отпадает, да и всевозможные отчеты легче делать.
...
Рейтинг: 0 / 0
14.03.2013, 16:27
    #38184194
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
ditbanЯ работаю с файлом на Си:
fopen_s(&file, "\\\\server\\folder\\File.log", "a+");
fputs("line", file);
fclose(file);... и просаживаю производительность обоих систем ниже плинтуса.
...
Рейтинг: 0 / 0
14.03.2013, 20:12
    #38184672
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Ему надо логгировать все события локально. А уже сливать их на сервер отдельно, асинхронно
и вообще отдельной задачей.
...
Рейтинг: 0 / 0
15.03.2013, 16:15
    #38185896
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
maytonЕму надо логгировать все события локально.Локальность не освобождает от необходимости думать: зачем открывать/закрывать лог-файл при каждой записи?
...
Рейтинг: 0 / 0
15.03.2013, 17:46
    #38186084
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Basil A. SidorovmaytonЕму надо логгировать все события локально.Локальность не освобождает от необходимости думать: зачем открывать/закрывать лог-файл при каждой записи?
Вышеуказанный в исходнике Unix-style работы с логгированием когда файл
открывается и закрывается с +APPEND каждый раз на событие - это нормально.
Но для Windows особенно в стеке сетевых протоколов (CIFS) это может
где-то вылезти огроменным боком. Вобщем надо тестить и смотреть.
Может у него там 5-6 событий за сутки.
...
Рейтинг: 0 / 0
01.04.2013, 17:13
    #38207614
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
Как поставили задачу, так и решаем. Не убедишь же, что лог хранить в таком виде плохо. Тут, по-моему, логичнее локально хранить лог. Но тогда встает вопрос, как потом считывать и отслеживать кучу этих файлов.
А развертыванием новой базы заниматься у нас никто не будет(
...
Рейтинг: 0 / 0
01.04.2013, 17:20
    #38207637
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
rsync
...
Рейтинг: 0 / 0
01.04.2013, 21:39
    #38208056
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
ditban,
Если нет СУБД, тогда для каждого клиента (соединения) - отдельный лог-файл на сервере.
А для чтения/анализа/слияния этих лог-файлов - отдельная специальная программа...
...
Рейтинг: 0 / 0
01.04.2013, 22:09
    #38208076
vromanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
1) Сколько записей в лог в секунду вы планируете?
2) Какая операционка на сервере и на клиенте?
Если Linux - используйте например syslog, он умеет работать удаленно
...
Рейтинг: 0 / 0
01.04.2013, 22:11
    #38208080
vromanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с файлом
m_SlaНе проще для этих целей на сервер базу данных поставить?

Охренеть предложение.. Вон из професии!
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа с файлом / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]