![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
Существует ли какая нибудь готовая библиотека, которая реализует какой нибудь Windows-драйвер (например драйвер жесткого диска), а функции для работы вызывает через Java.
за ранее прошу прощения за вопрос ![]() --------------------
Много чего интересного... |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Драйвер вызывает функции через Java? Оригинально-с...
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
![]() Я прекрасно понимаю все безобразие вопроса, но вдруг кто то, че то уже такое делал. --------------------
Много чего интересного... |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Что-то я вообще всё перестал понимать... :( Кто кого вызывает? Какая связь между драйвером, Java и сетью?
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
как пример. Драйвер работает через сокет. Например чтобы получить непосредственно какие либо данные он соединяется с сокетом по конкретному адресу. Или сам вешает сервер сокет, а данные передаются с другого приложения. В этом случае Java не причем.
Второй вариант, я сам себе еще не очень представляю. Например вызывает Java машину с программой, которая готовит данные например в файл. Прямой связи с Java наверно не должно быть, просто емулятор драйвера которым я из Java программы управлять смогу. Пардон за корявые обьяснения. --------------------
Много чего интересного... |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
*Отчаялся что-либо понять
![]() Сдаётся мне, что Вы желаете чего-то очень странного. Вряд ли кто-то что-либо подобное делал. И тем более выкладывал в open-source. Можете посмотреть в сторону JNI (Java Native Interface). Он позволяет как из программ, написанных на C/C++ вызывать методы классов, написанных на Java, так и наоборот, в Java-классах иметь методы, написанные на C. Ну тут уже недалеко и до драйверов. ![]() -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
в любом случае спасибо, но про JNI и другие технологии я в курсе.
Приведу конкретный пример может понятнее будет Есть Java-приложение которое работает с разного рода данными, но реально это ни что иное как добавление, удаление или изменение. Стандартно пишется Web-приложение для работы или специалный клиент. Вопрос можно ли прикрутить драйвер, который бы реализовал интерфейс по средствам самой ос. Т.е. появился например диск, и через Explorer или Total Commander или еще как то, можно было работать с этими данными. Вот такая не простая ситуация. --------------------
Много чего интересного... |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Драйвер для ОС пиши обычными средставами для ОС. Если он создаёт диск - Java его увидит.
Если у драйвера интерфейс не стыкуется с Java - пиши сервер на C/C++ (не обязательно Web - можешь придумать любой свой протокол). JNI используй если для работы с сокетами не хватает скорости - при смене версии Java или переходе на другую ОС его придётся перекомпилировать или даже перепрограммировать. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ты не понял, он хочет свое приложение на Java, представить в виде системного устройства. Например у него есть некое хранилище данных, с которым он работает из Java, а он хочет чтобы это хранилище было представлено в ОС в виде диска. (во всяком случае я так понял) Если это данные, то наверно будет удобно реализовать свой ODBC драйвер. Примеры ODBC драйверов должны быть. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
a можно ODBC как диск использовать ?
![]() наверно правильней было у сишников поспрашивать, но им еще труднее что то обьяснить ![]() --------------------
Много чего интересного... |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Нет, нельзя. ODBC это интерфейс доступа к базам данных. Диски тут совершенно ни при чём. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Если нужно представить внутренность jar или какие-либо другие данные в виде файла - это можно сделать через http: или ftp: - можно найти соответствующие серверы на Java.
Возможно подойдёт http://sourceforge.net/projects/drftpd/ Если же хочешь видеть в виде диска - нужно писать драйвер эмулирующий два устройства (диск и Com-порт) Total Comander обращается к диску - драйвер выдает данные в Com, их принимает Java, передает ответ в Com, драйвер отвечает Total Commander'у: Но это наверно, будет медленно - лучше использовать http: или ftp: |
|||
|
||||
anonymouse |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
для http: лучше использовать WebDav, для него и плагин для Total Commander есть. А почему использовать можно только через COM, почему не через сокет например ? Есть еще вариант, сделать диск с помощью subst и реагировать на изменения на этом диске. Вопрос был ближе к реторическому. Проблемы, реализовать такую задачу, пока у меня не стоит. Просто интересно можно ли c Java так глубоко (до драйверов) в систему спуститься. Всем спасибо за ответы. --------------------
Много чего интересного... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |