powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача файла как параметр (клиент - сервер)
39 сообщений из 39, показаны все 2 страниц
Передача файла как параметр (клиент - сервер)
    #39265542
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть приложение:
клиент Swing, Сервер - Ejb

Допустим есть функционал: загрузить курсы валют из xml файла.
Сервер тянет по расписанию.
Пользователь тоже может загрузить файл, выбрав его со своего локального диска.

Сейчас в приложении логика по обработке файлов дублируется:
- Клиент разгребает файл локально и обращается к серверу только сохранить уже сформированные сущности.
- У сервера, собственно, свой фасадный метод, который не используется клиентом.

Мне такое дублирование кода не нравится. Я бы передал с клиента файл (например даже через byte[]), делегировав всю логику серверу.
Передавать файл на сервер не нравится архитектору.

Проясните меня, пжста, чем ему не нравится?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265557
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kклиент Swing, Сервер - Ejb

Протокол RMI?

Vladmir KМне такое дублирование кода не нравится.
Ну, не дублируйте код, кто вас заставляет?

Vladmir KЯ бы передал с клиента файл (например даже через byte[]), делегировав всю логику серверу.
Передавать файл на сервер не нравится архитектору.
Проясните меня, пжста, чем ему не нравится?
Ну, тут есть разумное зерно. Зачем делать на сервере то что можно сделать на клиенте. XML парсинг не самая быстрая штука.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265573
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczVladmir Kклиент Swing, Сервер - Ejb

Протокол RMI?
Да

BlazkowiczVladmir KМне такое дублирование кода не нравится.
Ну, не дублируйте код, кто вас заставляет?
Сделать общий класс, использовать его и на сервере и на клиенте?
Меня смущает - что логика на сервере в сешионбине, в котором инжектится правильно логер, т.д. Как это все богатство затянуть на клиент?

И дело даже не в простом парсинге xml, чтобы загрузить, считываются доп настройки/плюшки.

BlazkowiczНу, тут есть разумное зерно. Зачем делать на сервере то что можно сделать на клиенте. XML парсинг не самая быстрая штука.
Вот я всегда наивно полагал обратное, что клиент - чем тупее, тем лучше....
Сервер - по определению мощнее, зачем на клиенте делать "небыстрые" штуки?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265589
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KСделать общий класс, использовать его и на сервере и на клиенте?

Не обязательно класс. Мавеном что ли не пользуетесь? Общий код отдельным модулем.

Vladmir KМеня смущает - что логика на сервере в сешионбине, в котором инжектится правильно логер, т.д. Как это все богатство затянуть на клиент?

Зачем вам логировать детали разбора XML.

Vladmir KИ дело даже не в простом парсинге xml, чтобы загрузить, считываются доп настройки/плюшки.

Ну, что-то всё равно останется на сервере. А то что от сервера не зависит, можно пользовать на клиенте. Промежуточный результат передавать. Что не так-то?

Vladmir KВот я всегда наивно полагал обратное, что клиент - чем тупее, тем лучше....
Сервер - по определению мощнее, зачем на клиенте делать "небыстрые" штуки?
Сервер труднее масштабировать. Нагрузки на клиента минимальные. А сервер обслуживает тысячи клиентов. В 90х у нас были полностью тупые клиенты-браузеры. И где они сейчас? Сплошной DHTML вокруг.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265599
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kчто клиент - чем тупее, тем лучше....
не всегда.
Поэтому у тебя и есть архитектор.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265616
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczVladmir KСделать общий класс, использовать его и на сервере и на клиенте?

Не обязательно класс. Мавеном что ли не пользуетесь? Общий код отдельным модулем.
Класс - модуль. Суть та же. Ясно.

BlazkowiczЗачем вам логировать детали разбора XML.
Да я и пытаюсь объяснить, что помимо простого разбора xml, есть еще подготовительные этапы:
считать доп параметры, принять решение, что делать в зависимости от параметров, т.д.

BlazkowiczНу, что-то всё равно останется на сервере. А то что от сервера не зависит, можно пользовать на клиенте. Промежуточный результат передавать. Что не так-то?
Видимо, так и придется рефакторить....
Я дублирование логики так и нашел - открылся баг. Начал копать. В двух разных классах (один на клиенте, второй на сервере) 90% кода совпадает. Даже методы такие же (по семантике). Общего модуля нет...
BlazkowiczСервер труднее масштабировать.
Сервер на горячую можно передеплоить.
А если расширяемость тугая, тут уж архитектурой попахивает, имхо

BlazkowiczНагрузки на клиента минимальные.
Ага, лишь бы не забыться... и не переборщить.
BlazkowiczВ 90х у нас были полностью тупые клиенты-браузеры. И где они сейчас?
Хорошее было время! :)
Графику оптимизировали до боли, комментарии удаляли, чтоб облегчить файлы!
И да, они были тупыми! По мне - так это хорошо :)


BlazkowiczСплошной DHTML
В такие моменты я с ужасом начинаю думать, что если переписывать такой толстый клиент (как у нас со Свинга на веб), то ... мама не горюй!

Спасибо за разъяснения.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265619
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123не всегда.
Вот я за расшифровкой и обратился на форум.

Petro123Поэтому у тебя и есть архитектор.
Благодарю :)
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265636
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KДа я и пытаюсь объяснить, что помимо простого разбора xml, есть еще подготовительные этапы:
считать доп параметры, принять решение, что делать в зависимости от параметров, т.д.
зовётся одним словом - бизнес-логика (БЛ).
В толстом клиенте - на клинте.
В тонком клиенте - на сервере.
Плюс вариации про 3-х звенку и т.д.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265639
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KВидимо, так и придется рефакторить....
Я дублирование логики так и нашел - открылся баг. Начал копать. В двух разных классах (один на клиенте, второй на сервере) 90% кода совпадает. Даже методы такие же (по семантике). Общего модуля нет...
обычное каждодневное дело прогера. Не дублируй.
Удачи!
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265640
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KСервер на горячую можно передеплоить.

В теории. На практике получается далеко не у всех.

Vladmir KА если расширяемость тугая, тут уж архитектурой попахивает, имхо

Она просто сложнее в любом случае. Клиента масштабировать нет надобности в принципе.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265642
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Плюс вариации про 3-х звенку и т.д.
Ну вот я и пытаюсь собрать инфу о камнях от умных людей при трехзвенке с БЛ на сервере при передаче сериализированного файла от клиента серверу.

Пока собрал
- масштабируемость сервера и нагрузку. Blazkowicz, как обычно, +1
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265656
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в процессе загрузки могут происходить какие-то события, требующие диалога с пользователем (GUI), то перенести на сервер "все не так очевидно" ( C ) дочь офицера

IMHO
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KНу вот я и пытаюсь собрать инфу
слишком общие вопросы.
Я бы например:
- при десктопе минимальные классы на сервере и все классы на клиенте.
- на сервере только то что поддерживает целостность Модели данных. Например, отношения один ко многим, связи и т.д.
Всё.
Дублировать нечего за исключением небольшой валидации чего либо при движении мышкой над контролами).
IMHO
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265674
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevЕсли в процессе загрузки могут происходить какие-то события, требующие диалога с пользователем (GUI), то перенести на сервер "все не так очевидно" ( C ) дочь офицера
В данном случае, пользователь выбирает только файл. Остальное делается по алгоритму, без доп уточнений пользователя.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265677
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123- при десктопе минимальные классы на сервере и все классы на клиенте.
Фасады больше не в моде?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265687
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KPetro123- при десктопе минимальные классы на сервере и все классы на клиенте.
Фасады больше не в моде?
Фасад обычно прикрывает какю то кухню внутри или скрывает её недостатки.
Давай конкретнее.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265699
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KВ данном случае, пользователь выбирает только файл. Остальное делается по алгоритму, без доп уточнений пользователя.
Модель данныйх какая для курса валют?
Табличка Дата и Курс?
Тогда на сервере только INSERT, а всё остальное на клиенте.
Т.к. парсер XML к Модели данных на сервере не имеет отношения.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265732
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Фасад обычно прикрывает какю то кухню внутри или скрывает её недостатки.
- Считать доп настройки для конкретного подразделения: смещать ли дату (например на завтра) курса из файла, локальная валюта подразделения (RUB, GBP, etc)
- Распарсить xml
- собрать модель валюты.

Сойдет за кухню?


Petro123Модель данныйх какая для курса валют?
Табличка Дата и Курс?
примерно да:
дата - валюта С - валюта В


Petro123Тогда на сервере только INSERT, а всё остальное на клиенте.
ИМХО, зачем такой клиент? Переход на другой клиент = новый проект!

Petro123Т.к. парсер XML к Модели данных на сервере не имеет отношения
тут я согласен.
Вопрос только: как организовать автоматическую загрузку по расписанию? Если логика и парсинг на клиенте, а запуск задачи на сервере...
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265783
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KПереход на другой клиент = новый проект!
если новый это веб клиент, то да. А как иначе?
Если новый клиент опять десктоп, то нафига он нужен?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265790
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kкак организовать автоматическую загрузку по расписанию? Если логика и парсинг на клиенте, а запуск задачи на сервере...
тут надо определятся что в приоритете.
Если автомат и по расписанию, то всё что я говорил забыть. Серверные методы и классы тянут файлы из расшаренной папки или FTP или ....
Если вдруг с клиента надо подтолкнуть, то просто данный шедулер выставляется на время минутой позже чем сейчас.
Делать это JOB'ом СУБД или на АппСервере исключительно вопрос в наличии программиста по данному ЯП.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265923
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123тут надо определятся что в приоритете.
80% автоматом
20% пользователь
Petro123Если вдруг с клиента надо подтолкнуть, то просто данный шедулер выставляется на время минутой позже чем сейчас.
В динамике выставлять расписание шедуллера, при этом такие привилегии должны быть у юзера? Сомнительно.

А моя фраза
Vladmir KПользователь тоже может загрузить файл, выбрав его со своего локального диска.
вообще перечеркивает такую концепцию! :( Потому что не подтолкнуть, а совсем другой файл загрузить...

В итоге, подожду аргументы архитектора, и скорее всего, будет некий общий модуль, как и советовал Blazkowicz, ну что и очевидно...
Хотя мое мнение, что фасад тут совсем не лишний, а серьезных технических камней против сериализации файла в том или ином виде, я не услышал.....
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265935
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KВ динамике выставлять расписание шедуллера, при этом такие привилегии должны быть у юзера? Сомнительно.
какие привилегии?
Если мы про оракла код, то:
В JOB у сервера написана одна строка вызова хранимой процедуры
ИМЯ_ПАКЕТА.ЗагрузитьВсёВ_общейПапке;
Ты правда боишься вызвать эту хранимку с клиента?

Vladmir KХотя мое мнение, что фасад тут совсем не лишний
я лично не вижу у одной строки выше фасада)).
Удачи!
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265937
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kа серьезных технических камней против сериализации файла в том или ином виде, я не услышал.....
дал поиск по слову сериализация по топику. Нет ни слова.
Ты про что?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265941
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как файл можно сериализовать? Это вообще как?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39265966
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123дал поиск по слову сериализация по топику. Нет ни слова.
Petro123ИМЯ_ПАКЕТА.ЗагрузитьВсёВ_общейПапке;
Ты правда боишься вызвать эту хранимку с клиента?
Нет, хранимку, конечно, не боюсь

Но вот если какой-то внешний шедуллер, например в данном проекте, quartz, то доступ к конфигурационнику не хочется давать клиенту. Ибо это привилегия одминов.
Petro123я лично не вижу у одной строки выше фасада)).
Удачи!
спасибо :)

Petro123дал поиск по слову сериализация по топику. Нет ни слова.

Leonid KudryavtsevИ как файл можно сериализовать? Это вообще как?

Я так рассуждаю:
передать файл, как File, от клиента к серверу через RMI не получится, потому что он проксироватьсян не будет. Ну если конечно путь будет не одинаковый с сервера и клиента, а это утопия.
Значит надо как-то сериализировать...

Варианта, на мой взгляд, два приходят на ум:
1. В частном случае, файл текстовый - можно передать в виде строки
2. Можно создать некий DTO:
Код: java
1.
2.
3.
4.
5.
class FileDTO implements Serializable {
  String fileName;
  Long size;
  byte[] data;
}
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266026
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KЯ так рассуждаю:
передать файл, как File, от клиента к серверу через RMI не получится, потому что он проксироватьсян не будет. Ну если конечно путь будет не одинаковый с сервера и клиента, а это утопия.
Значит надо как-то сериализировать...

java.io.File это API для работы со структурой файловой системы. Задлянафига его куда-то передавать - загадка.


Vladmir K
Код: java
1.
2.
3.
4.
5.
class FileDTO implements Serializable {
  String fileName;
  Long size;
  byte[] data;
}


fileName не нужен. size не нужен. DTO тогда для чего?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266118
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kпередать файл, как File, от клиента к серверу через RMI не получится
сначала разбирают Основной прецендент. Это у теюя 80% автоматом закачка файлов без участия клиентов .
Так?
А то как в анекдоте: Ищем пропавшие часы где светло, а не там где пропали.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266357
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123сначала разбирают Основной прецендент. Это у теюя 80% автоматом закачка файлов без участия клиентов .
Так?
Не так, потому задача решена, когда покрыто 100% случаев.
Отсутствие 20% ручных загрузок делает бессмысленным автоматические 80%

И при чем тут анекдот про часы?
Более удачный пример: Нога сломана в бедре и в ступне. В бедре сложнее перелом. Задача: Давайте вылечим человека.
Ты: давайте вылечим только бедро!
Но ходить, то он все равно не сможет, потому что ступня не работает!
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266360
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczfileName не нужен. size не нужен. DTO тогда для чего?
В моем конкретном случае не нужно. В общем - чтобы тупо иметь какие-то метаданные....
Может я захочу сохранить обработанный файл в какое-то хранилище, например.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266381
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KНе так, потому задача решена, когда покрыто 100% случаев.
Отсутствие 20% ручных загрузок делает бессмысленным автоматические 80%
Нет.
Тебе выше сказали - зачем метаданные?
Это постановка задачи.
Если автомат загрузки, то появляются 2 модуля.
Один загрузка из постоянного места с XML парсером и таймером.
Второй чтобы кинуть в то место файл.
Если не походит просто кинуть на ФТП хранилище в проводнике файл, то обзови свою тему отдельно.
Причём тут вообще XML и какой то код?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266389
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir Kклиент Swing
в swing нет компонента для загрузки файла на сервер? В БД или просто в папку на сервер?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266416
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Один загрузка из постоянного места с XML парсером и таймером.
Второй чтобы кинуть в то место файл.
Если не походит просто кинуть на ФТП хранилище в проводнике файл, то обзови свою тему отдельно.
Причём тут вообще XML и какой то код?
Вооот! Вот я и пытаюсь выяснить, почему нельзя файл тупо передать как параметр в сессион бин.
Почему обязательно нужно его куда-то сохранить в доступное место? (у меня, кстати, такого нет, но это уже другой вопрос)
Petro123Если не походит просто кинуть на ФТП хранилище в проводнике файл, то обзови свою тему отдельно.
Причём тут вообще XML и какой то код?
Чтобы был понятен юз кейс

В целом вообще тему можно закрывать. Ход мысли я понял...
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266417
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir K,
т.е. при такой поставновке (2 модуля) никакого дублирования кода не происходит.
Об этом вроде топик был?
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266418
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Vladmir Kклиент Swing
в swing нет компонента для загрузки файла на сервер? В БД или просто в папку на сервер?
Я такой не знаю...
К тому же, доступ к файловой системе сервера приложений - не безопасно. имхо
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266422
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir KК тому же, доступ к файловой системе сервера приложений - не безопасно. имхо
админы могут что угодно. Им просто проще на прогера кинуть задачу.
Можно ФТП папку настроить хоть в Урюпинске. А Оракл будет оттуда доставать по расписанию.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266425
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir K,
у меня Оракл заказчика доставал с нашей папки и нашего сервера фирмы разразработчиков ИС.
Т.е. ФТП сервер в вебе был на нашем обслуживании.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266428
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Vladmir K,
т.е. при такой поставновке (2 модуля) никакого дублирования кода не происходит.
Об этом вроде топик был?
Топик был "почему плохо передавать файл как параметр". Дублирование кода - причина вопроса, причину нужно устранить. Остальное я понимаю и соглашаюсь и с тобой и Blazkowicz.
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266433
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir K,
OK
Swing я не знаю. Не писал на нём.
Удачи!
...
Рейтинг: 0 / 0
Передача файла как параметр (клиент - сервер)
    #39266439
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Т.е. ФТП сервер в вебе был на нашем обслуживании.
Дашь и мне местечко с поддержкой 24*7? ж)
Petro123Удачи!
Еще раз спасибо :)
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача файла как параметр (клиент - сервер)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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