Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« : 28-01-2011 05:49 » |
|
Хотелось бы услышать советы насчёт вот такого вопроса
Мне через некоторое время предстоит делать программу удалённого администрирования (простенький вариант TeamView или RAdmin) , и хочу заранее разузнать в общем виде, возможно ли на Qt кроссплатформенно организовать основных "китов"
1) работа с MySQL 2 управление мышью из программы без участия реальной мыши 3) то же самое для клавы
Если что-то из этого не реализуется кроссплатформенно, то мне придётся выбрать MFC+WinAPI (разработка всё равно сейчас предполагается чисто под винду)
|
|
« Последнее редактирование: 07-03-2011 09:23 от Алексей1153++ »
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #1 : 28-01-2011 07:10 » |
|
Я делал недавно, правда там просто удаленный монитор, использовал WinApi + GDI+(для админки).
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #2 : 28-01-2011 07:25 » |
|
С ВинАПИ то вопросов нет Я именно про для Qt хочу узнать - возможно ли такое в ней
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #4 : 29-01-2011 10:11 » |
|
Finch, а там ничего про mysql не упоминается Насчёт QCursor - он прекрасно позволяет позиционировать курсор, но вот щёлкнуть им низя. Или я не нашёл, как. Это же нужно виртуальную mousePressEvent для виджета вызвать, а как это межпроцессорно сделать ? )
|
|
« Последнее редактирование: 29-01-2011 13:26 от Алексей1153++ »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #5 : 29-01-2011 11:01 » |
|
Леш, Вот пример написанный на основе хелпа Кстати, в .pro файл нужно добавить строчку QT += sql #include <QApplication> #include <QtSql>
int main(int argc, char *argv[]) {
QApplication app(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("******"); db.setUserName("**********"); db.setPassword("*************"); bool ok = db.open(); QSqlQuery query("show tables",db); query.exec(); while (query.next()) { QString name = query.value(0).toString(); qDebug() << name; }
db.close(); return 0; }
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #6 : 29-01-2011 13:27 » |
|
Finch, спасибо, пригодится )
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #7 : 31-01-2011 05:01 » |
|
Алексей1153++, а чем всякие VNC/RDP/XDMCP не устараивают?
|
|
|
Записан
|
Странно всё это....
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #8 : 31-01-2011 05:06 » |
|
Антон (LogRus), а что это ?
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #9 : 31-01-2011 05:12 » |
|
vnc - одна из старейших программ удаленного администрирования. Сейчас вроде с окрытым кодом. Кросспатформенная. RDP - стандартный протокол Windows для удаленного рабочего стола (Remote Desktop Protocol). Соответственно в стандартные поставки Windows встроен клиент и сервер (для дестопов - только на активное подключение, как Помощник; для серверов - на несколько независимых) C последним не сталкивался.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 31-01-2011 05:49 » |
|
так нет. Заказчик заказал программу, а зачем - это у же не моё дело.
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #11 : 31-01-2011 06:25 » |
|
Заказчик заказал программу, а зачем - это у же не моё дело.
Offtopic:
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 31-01-2011 06:33 » |
|
Kivals, сильно сомневаюсь, что он не в курсе.
1) ему в топике с заказом до меня это говорили пара человек - что есть такие-то, такие-то программы. 2) само задание "сделать <...> наподобие TeamView, только упрощённо"
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #13 : 31-01-2011 07:06 » |
|
Алексей1153++, я и не говорю что он не в курсе - просто ИМХО стоит выяснить зачем оно ему нужно. А то может оказаться что "упрощение" сделано не в том направлении, как он себе думал.
Добавлено через 2 минуты и 7 секунд: Кстати: на мой взгляд основная фишка TeamView (в отличии от того же vnc и Radmin) - это работа через сервер из-за роутеров и файрволов, т.е. ты не знаешь где находится удаленный комп - только его ID и пароль.
|
|
« Последнее редактирование: 31-01-2011 07:08 от Kivals »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 31-01-2011 07:11 » |
|
Kivals, да, так и предполагается - через сервер. Но с возможностью и напрямую
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #15 : 31-01-2011 12:01 » |
|
Посмотрел скриншоты TeamViewer на их сайте.
ИМХО простенький вариант TeamView или RAdmin потребует написания кучи кода. Плюс еще сюда необходимо добавить развертывание стенда для тестирования, а так же написание и отладка сервера через который будет работать этот простенький вариант. Одним словом, работы явно не на пару вечеров. Хотя могу и ошибаться...
Но если Алексей1153++ доведешь данную софтину до стабильного состояния, то можешь смело выпускать коробочную версию и составлять конкуренцию тому же TeamView...
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #16 : 31-01-2011 12:30 » |
|
а может проще купить teamview, чем платить за разработку? или заплатить, тем же teamview за нужный функционал.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Serg79
|
|
« Ответ #17 : 31-01-2011 12:37 » |
|
Sla, вот и я о том же. На том же сайте TeamView Business версия стоит 20 кило рублей. Если Леха, скажем за 2 недели, сделает упрощенный вариант TeamView заказчику за 5 кило рублей, то конечно заказчику выгодней у Лехи получить упрощенный вариант, пускай если и придется ждать 2 недели. Еще один плюс для заказчика, он получает в распоряжение исходники. А имея на руках исходники стабильной рабочей версии, пускай и упрощенной, это уже как минимум возможность добавления дополнительного функционала, что НАМНОГО БЫСТРЕЕ чем писание с нуля...
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #18 : 31-01-2011 13:14 » |
|
Serg79, Sla, еще как вариант зачем это может быть нужно заказчику - встраивать в какой-то уже существующий (или разрабатываемый) проект.
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #19 : 31-01-2011 13:22 » |
|
Простенький удаленный монитор (функционал только монитора) где в комплект входили: клиентская часть (на стороне клиента), просмотрщик на стороне админа, админка на стороне сервера (на PHP) у меня занял на разработку полноценных 3 недели (120 часов). Много времени ушло на корректный перехват графики в клиентской части. К вопросу зачем это нужно было заказчику - это был один из модулей слежения за сотрудниками в целях безопасности от утечек информации, там также были модули слежения за email, принтером, скайпом.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #20 : 31-01-2011 14:43 » |
|
Serg79, а никто сказку и не обещал ) Тимом я пользовался немного, представлю. А удалённый сервер есть - заказчика про сроки и цену не скажу, чтоб не сглазить )) Насчёт написания с нуля: ему нужен свой код, которым не нужно будет ни с кем делиться. По этой же причине, по ходу дела, выбор опять таки ложится на MFC Добавлено через 57 секунд:и вообще - мне на его мотивации немного без разницы. Мне от этого светят деньги и опыт. Он же добровольно заказывает, выбрав из конкурентов. Никто не отобирает ничего
|
|
« Последнее редактирование: 31-01-2011 14:44 от Алексей1153 »
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #21 : 31-01-2011 14:56 » |
|
ему нужен свой код, которым не нужно будет ни с кем делиться.
Если код должен быть лицензионно чистым (чтобы потом ни от кого не было претензий) то это должно было выставляться как доп.условие. Или ему все равно?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #22 : 31-01-2011 15:17 » |
|
В лицензии от Qt сказано, что код должен быть предоставлен по первому требованию. А студийный MFCшный код, когда я ему его передам, он может скомпилить на своей лицензионной студии , например, и никто ничего не потребует
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #23 : 31-01-2011 15:27 » |
|
Если Леха, скажем за 2 недели, сделает упрощенный вариант TeamView заказчику за 5 кило рублей Хм... Это значит, что месячная выручка Лёхи составляет около 10 тыс. рублей, из которой надо вычесть расходы на личную технику (её амортизацию), софт (тоже амортизация, если легально куплен) и налоги (если он их платит). Если же Лёха это будет делать через фирму, то половину (если не больше) заберёт она - на ней ещё все отчисления в соцфонды, дополнительные налоги, коммуналка, возможно, аренда помещения. Вот лично я в проекте, где в месяц чистыми выходит 0-5 тыс. рублей, участвовать не буду - по экономическим причинам. А у Лёхи ещё семья, дитё.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Kivals
|
|
« Ответ #24 : 31-01-2011 15:33 » |
|
Леш - я имел в виду что ты можешь использовать куски чужого кода в этом проекте, которые выполняют некоторую нужную тебе функцию. А код этот может быть опубликован в открытом доступе под определенной лицензией (GPL, FreeBSD, ...) - а эта лицензия накладывает требования к результату. При этом код может компилиться так, что даже в скомпиленном варианте остаются маркеры, по которым можно вычислить наличие "своего" кода в чужом проекте (причем не обязательно это будет тупое сравнение с какой-то бинарной строкой). Так вот вопрос: насколько это волнует заказчика и задумывался ли он об этом вообще?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #25 : 31-01-2011 15:55 » |
|
Dimka, в этом месяце уже почти 20тыс на фрилансе вышло. Я же не одним в упор проектом занимаюсь ))
Kivals, я не использую платного чужого кода, который можно таким образом найти. Он об этом тоже сказал, кстати Значит, задумывался
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #26 : 31-01-2011 18:33 » |
|
Да не Алексей1153++, все правильно говоришь. Если соотношение потраченное время ~ полученные деньги тебя устраивает, то что тут рассуждать то.
P.S. но тестовый стенд тебе рано или поздно по любому разворачивать придется для тестирования. А производить тестирование с удаленным сервером заказчика, это еще тот гемор.)))
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #27 : 31-01-2011 19:52 » |
|
Serg79, в эпоху виртуалок тестовый стенд - это не проблема Алексей1153++, обрати внимание - приведенные мною примеры лицензий бесплатны Но требуют раскрытия полученного результата...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #28 : 01-02-2011 06:36 » |
|
Serg79, что его разворачивать то ) Локалка есть, два компа (плюс третий в виртуалке)
Kivals, ага
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #29 : 01-02-2011 07:50 » |
|
Я и этого не использовал. На первом этапе достаточно было IIS, затем для тестирования проги в условиях близких к боевым, использовал халявный тестовый месячный хостинг на одном из хостинговых серверов.
|
|
|
Записан
|
|
|
|
|