![]() |
|
Модераторы: bartram, Akella |
![]()
|
|
| aLEXperimentator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.2.2013 Репутация: нет Всего: нет |
Здравствуйте, дамы и господа, уважаемые форумчане!
Я - немножечко программист, наверняка не очень хороший, но думаю что и не самый плохой тоже Не скажу, что знаю всё это на высоком уровне. Нет конечно. Программист я не совсем профессиональный, пишущий больше для себя и для души Простите что отнял у вас время на подобное введение, но вот недавно появилась одна такая задача. Возможно понадобится написать что-то похожее на клиент-серверное приложение; один сервер и несколько компьютеров-клиентов. Причём каковы они - я заранее не знаю. Не, ну на своём компе я разумеется могу установить всё что угодно. Понадобится - можно поставить Windows 7, понадобится - Висту или Windows XP. и framework, и IIS, и Apache, и PHP, и MySQL... А насчёт клиента? Там я не особо могу хозяйничать... Ситуация усугубляется тем, что некоторые мои старые дельфийские программы, написанный под Windows XP, не запускаются сейчас на компе под Windows 7 x64. Или к примеру программа с компонентом сокетом, прекрасно запускавшаяся под Windows XP, требует зарегистрировать компонент в Windows 7 - оказывается он там по умолчанию не зарегистрирован, и только потом работает... Я не знаю, на какой ОС запустят клиентскую часть. Не, ну то что это будет Windows - понятно. То что NT-семейство - тоже понятно (вряд ли кто сейчас будет сидеть на Win95 или Win98) . А вот XP, Vista или Windows 7 - заранее не знаю. Не знаю - установлен ли там пакет MЫ Visual C++ 2005 SP Redistributable (а без него не пойдут проги, написанный их-под Visual Studio) . Не знаю, есть ли на нём рантаймовый файл для Borland C++... Не знаю какова будет разрядность операционной системы, и уж подавно не знаю - будет ли эта версия базовой или расширенной, и будет ли в ней IIS и/или framework для выполнения CLR-кода... Очень не хотелось бы к одному исполняемому файлу тащить целую кучу кода. Чтобы пакет потребовал себя инсталлировать - ведь пользователь может сидеть и под гостевой записью без права на инсталляции... Не хотелось бы, чтобы для установки одной программы пользователю пришлось бы качать десяток пакетов с интернета... Хотелось бы вот такой схемы: "на тебе экзешку - скопируй на свой комп, прямо на рабочий стол если хочешь, и работай". Не заставлять человека ставить ни Runtime Java, ни обязательно ставить и/или включать адоб флеш... Вот и возник вопрос - на чём бы вы, уважаемые дамы и господа, уважаемые форумчане - посоветовали бы писать? На чём должен быть написан exe-файл, чтобы скорее всего на любой более-менее современной ОС семейства Windows любой "уровневости" и разрядности, при всех тех пакетах обычно стоящих по умолчанию - чтобы exe-файл скорее всего "нашёл" бы всё нужное для себя и смог бы запуститься? На чём следует писать самые, так сказать, "минималистские экзешники"? (ну желательно всё-таки с дизайном форм, а не мс-доса) ПС: Сам склоняюсь к старому доброму VB6... Это сообщение отредактировал(а) aLEXperimentator - 18.2.2013, 16:36 |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Static linking, нет, не слышал? А так можно писать на чём угодно, где не нужна отдельная среда исполнения а-ля .NET CLR или JVM. Линкуйте только статически и всего делов. Добавлено @ 17:00 Нет, не стоит. Это сообщение отредактировал(а) kemiisto - 18.2.2013, 17:01 -------------------- |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
Стоп. Сервер - у тебя, а у клиента - клиентская часть? или весь комплекс - включая сервер - разворачивается у клиента? В первом случае клиентская часть - это, например, любой достаточно свежий браузер. И пофиг на то, какая ось на клиенте. В крайнем случае просто потребуешь, чтобы JScript работал. Понятно, что сервер при этом должен быть не сопливый... Во втором, впрочем, браузер тоже не худшее решение для клиентской части - а капризы по конфигу серверной смело посылаются в даль туманную. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| aLEXperimentator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.2.2013 Репутация: нет Всего: нет |
Снова здравствуйте
Может и слышал, но честно говоря уже не помню. Раньше, года два-три назад я чаще использовал Дельфи, и пытался делать что-то на C++ Builder-е. И заметил прикольную вещь - то, что шло на моём компе - почему-то не шло на других. Позже выяснилось, что Билдер и Дельфи 7-ой версии пытались строить приложения с "пакетами времени исполнения", и это безобразие творилось независимо от того, какие галочки я выставлял в компиляторе Сейчас Дельфи я не ставлю, и поэтому проверить галочки и опции компилятора пока что не могу. Но историю эту помню хорошо... Кстати я сейчас стал листать свои старые программы... И вот что могу заметить: Те на VB6, в которых нужен файл comct232.ocx (то есть в них есть компонент-диалог открытия файла) - не открываются. Вылетает ошибка. В которых этого компонента нет - открываются совершенно свободно. Дельфийские программы ведут себя по-разному - некоторые пишут, что версия этого файла несовместима с используемой версией Windows, некоторые стартуют нормально... Так же ведут себя и файлы, созданные Паскаль и Бейсик-компиляторами под MS-DOS. Экзешники, получившиеся из cpp - восновном стартуют нормально; но это не показатель - дело в том, что в данный момент на компе стоит MS Visual Studio, и понятно, что все C++-библиотеки Студия приташила с собой. Не будь их - тоже наверняка бы не работала половина программ... Раньше программировал на Windows XP x32, В данный момент на новом ноуте стоит Windows 7 x64, с него и проверяю. И вижу, что в некоторых случаях совместимость есть; в некоторых нет. Чаще совместимость обнаруживается в скомпилированных Вижуал-Бейсиковских файлах, 6 версии. Отсюда делаю вполне логичный вывод - проги, написанные на VB6 - будут запускаться на компах пользователей с мЕньшими проблемами, нежели другие проги ------------------------ Да, что-то в этом роде. Серверный компьютер будет скорее всего у меня; множество клиентских частей будут у клиентов. Причём клиентские части должны быть как можно проще, чтобы не заморачивать людям головы с коннектом, прописыванием маршрутов или ещё чего-нибудь в этом роде... Не нужно морочить людям голову вспомогательными вопросами. Хотелось бы реализовать по принципу "кликнул и работай"...
Компьютеры могут находиться неизвестно где. Они могут принадлежать разным провайдерам, поэтому нельзя заранее считать, что можно попросить провайдеров объединить их в одну сеть. Это просто компьютеры, принадлежащие разным людям, которые должны работать с неким общим документом, размещённом на компе, который условно назовём сервером. Это для них он сервер, а для всего остального мира - он точно такой же комп в интернете. И связь между ними всеми скорее всего будет через сокеты... И я до конца не уверен, что браузер, даже с работающим Java-скриптом, может соединиться с другим компом, отправлять запросы именно на определённый порт и с определённой частотой... А даже если сможет - при работе с файловой системой на локальном компьютере, к примеру, из JavaScript-а возникнут трудности... Разумеется можно при обращении к файлу подтверждать, что я разрешаю небезопасные компоненты ActiveX, но если у юзера по умолчанию вместо IE, к примеру стоит Opera или Safari - то не сработает и это... Я думал над браузерной реализацией, честно говоря, но мне кажется что это не очень хорошая мысль... |
|||
|
||||
| Akina |
|
||||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
Не могу удержаться ... извините, если сможете, за неприкрытое ничем хамство, но...
Ты с какой луны упал? или ты для того, чтобы авторизоваться тут на форуме и писать посты под своим ником, просил провайдера объединить тебя с винградом в одну сеть?
Не, тебе решительно нехрен делать... HTTPS на основе личных сертификатов, VPN и прочую ерунду народ явно для чего-то ещё изобретал...
Значит, тебе пора наконец бросить написание кода и начать хоть что-то изучать.
Ага... а многочисленные клиент-банки (крупные банки, крупные клиенты, многомиллионные операции) опять-таки дурью маются... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||||
|
|||||||||
| aLEXperimentator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.2.2013 Репутация: нет Всего: нет |
Akina, я прекрасно понимаю, что если вызываю подобную реакцию - значит либо чего-то не сумел объяснить до конца, либо на самом деле чего-то недопонимаю. По-видимому это моя вина. Попробую ещё раз:
Дело в том, что сервер Винграда - он официальный сервер. Он зареген в нете под каким-то определённым статическим ай-пи адресом, и всякой раз, когда я набираю forum.vingrad.ru - происходит переадресация именно по этому ай-пи, который вбит, скажем так, в некую "таблицу имён и адресов" (назовём это так). В моём же случае серверный компьютер - это будет обычный компьютер. Стоящий у человека дома. У него не будет статического интернет-адреса, каждый раз выходя в инет человек будет получать новый адрес. Сегодня он, допустим, 100.101.102.103; а завтра он станет 101.102.103.104, образно говоря. У этого компа нет доменного имени. Адрес своей собственный в сети комп узнать конечно же может. И в принципе этот адрес можно сообщить остальным компьютерам - да хоть сделать рассылку электронной почты, сделать одну-единственную страницу где-нить на яндекс-народ-ру и динамически выкладывать его туда, да хоть рассылку смс-ками сделать и/или просто позвонить и сказать... После чего доступ к нему должен быть открыт только этим людям-клиентам - остальные попытки кого бы то ни было ломануться на него должны отбиваться. Я никогда не работал с такими ситуациями, и поэтому попросту не знаю - как себя поведёт себя комп с "официальным сервером" на стандартном 80-м порту. Поэтому я и порт хотел тоже сделать нестандартным - дабы меньше отсеивать пришлось. (хотя понимаю, что по-видимому можно) То есть клиенты заходят именно по ай-пи (не по домену - его попросту нет) ; клиент этот человек или не клиент - определяется по некоему переданному ключу в пакете. В запросе. Если же ключ не передан - запрос просто отбивается безо всяких страниц авторизации или чего-либо ещё. Каждому клиенту раздаётся экзешник со своим "ключом". Именно так не-клиент и отличается от клиента и отсеивается сразу же, безо всякой авторизации... То есть для не-клиентов страницы попросту нет. Насчёт запросов от браузера - кажется я понимаю суть возражения; имелся в виду Ajax, конечно же? Согласен, наверно можно, но мне почему-то показалось, что экзешка справится лучше JavaScript-а, поскольку всё-таки более универсальна... Впрочем разумеется могу ошибаться. Повторюсь - просто не работал с такими ситуациями... С сервером и авторизацией - работал, с такими вещами - не работал. По-любому спасибо за наводку на умные мысли на тему Ajax-а (это совершенно честно, безо всякой иронии) Правда надо будет сначала проверить, как это будет работать... |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
Ну и что? Узел в Инете не обязан иметь доменное имя, но если без него жизнь не мила - к вашим услугам DynDNS, No-IP и так далее, разной степени бесплатности... Хотя, как я понимаю, речь идёт о продаже онлайн-сервиса - если так, то чего крохоборничаете-то?
Отбивается - это deny или drop? если первое - я тебя вообще не понимаю. С другой стороны - ты никогда не пробовал, например, соединиться с VPN-сервером, который понимает исключительно шифрование на основе сертификатов, без этого сертификата? Файрвол или VPN-сервер можно настроить так, что для не-клиентов не то страницы - и узла-то этого в сети не будет... и для этого вовсе не требуется никаких секретных ключей в теле пакета. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| aLEXperimentator |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.2.2013 Репутация: нет Всего: нет |
Здравствуйте всем ещё раз. Я очень сорри за то что долго не отвечал - немного измотка в работе, а быть собеседником в полусонном и полуварёном виде мне не очень хотелось
Речь идёт о бета-тестировании в интернете небольшой разработки. Документ должен быть доступен некоторой категории бета-тестеров, среди которых некоторые и не компьютерщики, и абсолютно не хочется грузить людей авторизациями. Если всё пройдёт гладко - можно будет уже подумывать о хостинге и домене; если выяснится что у идеи нет продолжения - не нужен ни хостинг, ни домен. И посторонние (не бета-тестеры) посетители ресурсу до его окончательной обкатки пока не нужны. Поэтому и была идея сделать всё в "фоновом режиме", никого не напрягая ни регистрациями на ресурсе, ни регистрациями самого ресурса... Ну идея была в том, что "отбивается" - это вообще отсутствие какой-либо ответной реакции на запрос без ключа. То есть если в теле запроса есть ключ - есть ответ; нет ключа - "давай дасвидания!" ©
----------------------------------------- И всё-таки в рамках Windows-минимализма: По-видимому действительно: если на компьютере клиента не надо производить никаких действий с файловой системой - то имеет смысл делать браузерную реализацию с включённым java-script-ом. Плюс в том, что работать будет не только под Windows. Если некоторые действия с файловой системок на компе пользователя делать всё же нужно - имеет смысл написать html-java-script-страницу со включениями ActiveX (для IE) и/или XPCOM (для семейства Firefor-Seamonkey от Мозиллы). Эти компоненты могут вести чтение/запись файлов. Плюсы в том, что на компе юзера может вообще не быть практически никаких вин-библиотек. Минусы в том, что если для IE ActiveX сам запросит разрешение на работу; то для Мозиллы придётся лезть и настраивать signed.applets.codebase_principal_support = true - иначе вообще никакой XPCOM работать не будет (это есть ещё одна головная боль для чайников). Юзеры Оперы или Сафари тоже пользоваться такой страницей-прогой не смогут, что не есть очень хорошо... На следующем месте я бы всё-таки поставил пресловутый VB6, для работы которого нужен файл msbvm60.dll - откуда берутся все системные процедуры и сервисы, и насколько мне удалось понять - если не использовать всяких дополнительных диалогов и/или компонент - этим файлом дело и ограничивается... Это может означать, что у скомпилированного в exe-файл проекта на VB6 больше шансов запуститься на бОльшем количестве компьютеров. Далее - имеет смысл обратить внимание на Delphi-проекты, созданные под Delphi Kylix - если создать и откомпилировать проект Дельфи именно как проект Kylix, а потом приложить к экзешнику qtintf.dll - то эта прога тоже запускалась и под Windows 32, и под Windows 64. Вот пожалуй пока что и всё. Вот такая вот ранжировка: 1. HTML + JavaScript 2. HTML + JavaScript + ActiveX + XPCOM от Мозиллы Если работа с файлами не требуется или требуется очень ограниченно 3. Visual Basic 6 (без лишних компонент) 4. Delphi 6 откомпилированный из проекта Kylix - нужно будет приложить файл qtintf.dll Если работа с файловой системой и прочими возможностями всё-таки реально будет нужна И чтобы проверить свою мысль - я хочу обратиться к администрации форума с вопросом: можно ли здесь выкладывать файлы? Дело в том, что у меня появилась мысль - набросать очень небольшую VB6-экзешку, и выложить её сюда; чтобы всякий кто захочет - мог бы её скачать и попытаться запустить на Windows-компе? На самых разных Win-компах - наверняка среди юзеров будут те, у которых будет WinXP, а у кого-то будет Win7 или Vista, у кого-то будет x32, у кого-то x64... И т.д. Так и я, да и не только я - все посетители этой темы сможем получить больше хорошей статистики - на чём следует писать "минималистичные" Windows-программы. Можно ли выложить экзешник? Это разрешено правилами форума? С уважением ко всем. |
||||||
|
|||||||
| aLEXperimentator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.2.2013 Репутация: нет Всего: нет |
И ещё буквально несколько слов, уважаемые дамы и господа, дорогие форумчане:
Хотелось бы немного пофилософствовать о предустановленных компонентах Windows-ов. Та же VB6-библиотека, насколько я могу вспомнить - не входила предустановленной в Windows XP SP1-SP2. По-крайней мере не входила в 2003-2004 годах; помню потому что некоторые проги (игры, а также некоторые мои собственные рабочие) написанные под VB6 - на "сыром" только что установленном компьютере не запускались (если я сейчас всё правильно вспоминаю)... Но достаточно было установить или Microsoft Office, или Corel Draw - те же файлы запускались без проблем. Скорее всего и Microsoft Office, и Corel Draw сами ставили какие-то VB-dll-файлы - тут достаточно вспомнить, что VBA - язык макросов в том же самом оффисе... Трудности были только со стартом фалов, содержащих диалоги открытия файлов - им требовался установленный comct232.ocx (если всё помню верно). Именно поэтому беру на себя смелость предполагать, что если на компе стоит какая-то винда с какой-то поддержкой Visual Basic for Application - то VB6-exe-файлы (созданные без лишних компонент) будут запущены без проблем. Не могу проверить это утверждение для всего NT-семейства Windows - потому как мне сейчас некуда установить для проверки Windows 2000, но скорее всего всё сказанное будет справедливо и для неё. Да и к тому же не так уж и много наверняка в мире настолько преданных фанатов этой весьма достойной и весьма старой ОС Но что есть "лишние компоненты"? И что есть "нормальная установка"? Ну наверно если просто и на пальцах - нормальная установка это та, когда берётся установочный CD-диск от Microsoft-а (пусть даже опять-таки самый минимальный), ничего с него не вырезается, при установке все "палочки" и все "галочки" не трогаются - как стояли - так и стоЯт, и происходит установка со всеми рекомендованными от Microsoft компонентами. Больше - можно. Меньше - нельзя. Потом на комп ставится некий программный минимум, без которого не обойдётся даже домохозяйка. Ну к примеру скажем браузер Опера, или пакет Microfoft Office (допустим). Вот такой вот "имнимализм" имеет смысл называть "минимальный установкой". Минимальная установка - это то, что можно наковырять на подавляющем большинстве компов в мировом инете... Встречались винды, из которых были вырезаны и Microsoft Paint (!) , и даже Internet Explorer (!!) - это были дескать особо быстрые "геймерские версии". Дело в том, что одно время у меня был очень слабый старый ноутбук, и я всё время пытался подобрать под него лёгкую ОС (потом понял что ничего из этого не выйдет и продал его на фиг, скорее всего он ушёл на запчасти)... Проверять такую "геймерскую версию" на реальную скорость просто не захотелось - после того как вообще половина даже её родных прог стала вылетать с ошибками "не найден такой-то компонент" - снёс её к чертям... Понятно, что если юзер установит себе такую кастрированную Windows - ему уже не сможет помочь никакой программист и никакой язык программирования. Однако на практике всё-таки ставится нечто более нормальное; так что думается любой программист Visual Basic-а или Дельфи, который таскает компоненты на свои формы во время разработки, имеет право предполагать, что уж компонент Internet Explorer у будущего юзера его программы на компе будет установлен... Вот такие вот мысли... И они будут относиться к любой небольшой программке, которую захочет написать и распространить в инете какой-либо автор. Либо требовать от пользователя "установить сначала вот это и вот это, и только потом я буду работать", рискуя напугать человека - простого юзера, ничего не смыслящего в установке; либо чтобы не грузить "чайника" вообще ничего от него не требовать, а просто запускать мастер установки и брать и разворачивать все необходимые пакеты в фоновом режиме (рискуя тем, что юзер задолбается постоянно нажимать разрешение на установку в Висте или Семёрке - ведь он хочет поставить одну-единственную небольшую прогу автора, а не половину интернета); либо постараться свести всю прогу к одному-двум используемым базовым библиотекам и ставить только их (это на мой взгляд достаточно трудная задача для программиста-непрофессионала и не гуру); либо писать несколько версий; либо смириться с тем, что у многих людей прога пойдёт, а у многих не пойдёт; либо опять-таки постараться угадать и использовать некий минималистичный подход... Вот этой чесгря немного размытой теме и хотелось посвятить эту веточку форума Это сообщение отредактировал(а) aLEXperimentator - 25.2.2013, 16:58 |
|||
|
||||
| dstorm81 |
|
|||
![]() бездельник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1178 Регистрация: 18.1.2006 Где: (16RU) Репутация: 5 Всего: 39 |
мля-ж, аффтар отрежь себе пальцы
не нужно философствовать... для установки программ под винды есть ИНСТАЛЛЯТОРЫ (и какие компоненты будут установлены зависит только от тебя). все тема закрыта. -------------------- на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#) |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
и не лень жеж тебе столько печатать?
Добавлено через 2 минуты и 3 секунды
Ты тут при чем? Это проблемы юзверя. Ты должен обеспечить работу программы на нормальной, лицензионной ОС. Всё. Хватит философстовать. Иначе перенесу твою тему в Песочницу или Флейм. |
||||
|
|||||
![]()
|
| Правила форума "Windows" | |
|
|
Запрещается! 1. Обсуждать взлом и делиться кряками 2. Способствовать созданию и распространению вирусов
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Windows | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |