Плагин CALLER
|
|
Alex3A | Дата: Вторник, 04 Ноября 2008, 20:40 | Сообщение # 1 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Что такое этот плагин, сказать легко, понять трудно! Выражаясть простыми словами, это транспортная система, занимающаяся пересылкой всесозможных данных. Как в пределах локального компьютера, локальной сети так и по интернет. Этот механизм лежит в основе множества програм и технологий, начиная от всем известных броузеров, асек, сетевых игр.... кончая сложными системами промышленной автоматики и глобальных проектов. Я даю вам гвоздь, а использовать его вы можете не одним десятком способов, первый - поколупаться в зубах. Колупаться будем на примере навигатора страниц - отдельного окна с которого идет управление основным проектом, некий аналог страницы с содержанием, в бумажной книге, которая всегда под рукой. Для просмотра, скомпилируйте proekt.mbd и запустите, pagenavigator.mbd можно и не компилировать, работает и с десинга. Еcли вдруг у вас че то не сработает, разбирайтесь со своим фаерволом, порт 1234 IP localhost (1270.0.0.1) . Обвязка плагина выполнена согласно идеологии SRG описанной здесь. Описание плагина на здесь. У меня есть с десяток вариантов его использования, а какие предложите вы?
|
|
| |
toizy | Дата: Среда, 05 Ноября 2008, 22:01 | Сообщение # 2 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| малаца! Выкладывай есчо Добавлено (05 Ноябрь 2008, 22:01) --------------------------------------------- Алекс, было бы интересно глянуть исходники
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Вторник, 11 Ноября 2008, 19:54 | Сообщение # 3 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) Алекс, было бы интересно глянуть исходники Без проблем, только дам немного попозже, после вылизывания следующей версии, ибо того исходника уж нет, на переделке. Да и новая версия будет для тебя намного интересней, гарантирую. Готовлю пару - тройку уникальных примеров с участием двух плагинов, че то уже TOSу закинул, на дизайн, че то пока ваяю. (рабочее название - MMB HTML LOCAL SERVER). Ну а как мой запрос на варианты использования? Чето ни кто не предлагает, вот один из множества - автономный плей лист, как у винампа.
|
|
| |
toizy | Дата: Четверг, 13 Ноября 2008, 23:25 | Сообщение # 4 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Alex3A) Ну а как мой запрос на варианты использования? Посмотрел. Интересно, как ты реализовал управление? Так, как я думаю? broadcast message?
Жизнь оказалась не такой уж и забавной, как поначалу...
Сообщение отредактировал toizy - Четверг, 13 Ноября 2008, 23:27 |
|
| |
Alex3A | Дата: Четверг, 13 Ноября 2008, 23:40 | Сообщение # 5 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) broadcast message? Да нет же, Дима! Все проще kolTCPSocket, связь по IP и порту, ну конечно некий протокол обмена заделал. Гонял даже через инет, некий аналог аськи, причем один IPшник был постоянный другой динамический, законектился в инет, прочитал свой текущий IP сообщил другу с постоянным адресом. В принципе, можно слепить на серваке сценарий, который будет выдавай айпишники тех кто подключился(зарегиля в системе) получиться свой аськин.
|
|
| |
Alex3A | Дата: Пятница, 21 Ноября 2008, 00:43 | Сообщение # 6 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Новая версия плагина Caller v2. Новый пример его использования, показывающий новые его возможности. Создание динамических хтмл страниц, с помощью скриптов ммв, для объекта браузер, включенного в проект билдера. Для запуска примера, необжодимо установить внешний плеер, для тех кто этого не умеет - скомпилировать екзешник в папку с проектом и запустить его. В слеедующем примере планирую показать кучу хтмл страниц, без хтмл страниц, с поиском по контенту. На двух плагинах, Caller и dbfmmb. Хотя перед этим надо бы выложить в раздел примеры с dbfmmb.
|
|
| |
toizy | Дата: Пятница, 21 Ноября 2008, 15:17 | Сообщение # 7 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Тестим...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Понедельник, 08 Июня 2009, 22:02 | Сообщение # 8 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Плагин ТСР спецклиента, по просьбе одного из участникав форума, остальных прошу сильно не парится, для большинства - бесполезен
|
|
| |
Alex3A | Дата: Четверг, 25 Июня 2009, 22:17 | Сообщение # 9 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Тоже плагин, для тех же людей. Отправку файлов не трогать, без логина не входить, недоделано.В обоих проектах плагин один но переименованый. Желательно проверить через инет. Все остальное, потом. Резюме, идеи, жалобы и предложения - на мыло. вложение убрал.послядняя версия внизу
Сообщение отредактировал Alex3A - Воскресенье, 28 Июня 2009, 14:23 |
|
| |
Alex3A | Дата: Пятница, 26 Июня 2009, 11:53 | Сообщение # 10 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Добавил смену атрибутов подключения. обновил. вложение убрал.послядняя версия внизу
Сообщение отредактировал Alex3A - Воскресенье, 28 Июня 2009, 14:24 |
|
| |
Alex3A | Дата: Суббота, 27 Июня 2009, 17:40 | Сообщение # 11 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Теперь можно попробывать пересылку файлов, с клиента на сервер, категория файла - имя приемной папки в корне проекта, если ее нет или имеет не то имя что передаете, файл записан не будет. Приемных папок может быть сколь угодно. Обратная пересылка, с сервера клиенту работает по тому же принципу, пока в проект сервера ее не заводил и не тестировал, можете попробывать, в даном случае приемные папки должны быть и в корне клиента. Попробуйте сначала в локале потом через сетку. вложение убрал.послядняя версия внизу
Сообщение отредактировал Alex3A - Воскресенье, 28 Июня 2009, 14:24 |
|
| |
toizy | Дата: Суббота, 27 Июня 2009, 22:57 | Сообщение # 12 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| что-то не понял как тестить....
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Воскресенье, 28 Июня 2009, 00:39 | Сообщение # 13 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Потом все раскажу!! И опишу. Сделал двусторонний обмен, с сервера посыка файлов только конкретному клиенту, рассылку всем не делал. Поправил баг при пересылке файлов, (пару лишних байт добавлялось). Незарегеные клиенты, при отключении из списка удаляются, дал им вместо имени числовой идентификатор, как прежде писать и читать не могут, но на сервере видно что пишут. Пока на данном этапе все, тестить, жаловаться, предлагать. Программа минимум достигнута. Гонять файлы через сервер для всех считаю неоптимальным. Quote (toizy) что-то не понял как тестить.... Рабочее состояние сервера -листен, тыцьнуть кнопу. Клиент -ввести логин, нажать кнопу логсет, затем конект. Пример для работы в локали, для работы в инете надо указывать клиенту ип сервера. Работа через инет имеет свои особенности, сечас их выясняем. Проведено ряд удачных сеансов через инет.
|
|
| |
Alex3A | Дата: Понедельник, 29 Июня 2009, 03:20 | Сообщение # 14 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Плагин "TCP client_server EX" Движок ICQ - ЧАТ клиент-сервер. Для работы влокальных сетях и интернет, с размещением сервера на домашней машине юзера с динамическим ip адресом. Реализует авторизацию участников, обмен сообщениями и файлами. Демо примеры и описание в прилагаемом архиве. Движок - основа для построения ICQ подобных проектов средствами ММВ. Плагин является модификацией плагина CALLER.
|
|
| |
DEMBEL | Дата: Суббота, 22 Августа 2009, 22:20 | Сообщение # 15 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Плагин MMBPNG - где ж он был раньше! Подозревая нужную мне фичу я ее проверил, и о чудо! В архиве картинка видяхи, так тень от нее покрывает в ммб и текстовые обьекты!
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Суббота, 22 Августа 2009, 22:27 | Сообщение # 16 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (DEMBEL) Плагин MMBPNG - где ж он был раньше! А давновалялся на форуме, никому не нужный, самая последняя вера у мну на сайти. Есть буржуинский аналог, за тугрики дают, эт я чтоб им неповадно было, у меня в запасе по теме еще и произвольное изменение размеров, пока аналогов не видел. Будет натхнення выведу скале, а мож анимаху пнг доделаю.
|
|
| |
DEMBEL | Дата: Суббота, 22 Августа 2009, 22:32 | Сообщение # 17 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Этож можно градиентами весь проект затягивать чтоли выходит
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Суббота, 22 Августа 2009, 22:40 | Сообщение # 18 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (DEMBEL) Этож можно градиентами весь проект затягивать чтоли выходит По сути это все обман здрения, градиентами канешно можно и даже нужно, но в области плагина никакие кнопы работать не будут, его хоть и невидать, но всеж это плаг. Могу еще событий навешать на картинку.
|
|
| |
DEMBEL | Дата: Воскресенье, 23 Августа 2009, 08:36 | Сообщение # 19 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote Сейчас идет разработка плагина listbox, в качестве компонента для ммв. Плагин обладает "прозрачным" фоном, или имеет, в качестве фона, картинку. Есть успехи?
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Воскресенье, 23 Августа 2009, 12:00 | Сообщение # 20 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (DEMBEL) Есть успехи? Делал на основе листбокса в овнердраве, не получилось сделать выделение итемов полностью адекватно, в виду системных особенностей компоненты. Рекомендуют делать на листвиеве. Это был первая проба моего сдк на кол, MMBPNG использует механизм захвата фона, отработанный на нем. Мож как то и вернусь к этому.
|
|
| |
toizy | Дата: Воскресенье, 23 Августа 2009, 14:25 | Сообщение # 21 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Alex3A) Делал на основе листбокса в овнердраве, не получилось сделать выделение итемов полностью адекватно Делай на листвью. Могу скинуть наработки в плане овердрав. Quote (Alex3A) MMBPNG использует механизм захвата фона, отработанный на нем Так и не понял как оно работает. Пробовал сам захватить фон, но не получилось сделать это так, чтоб работало. Как ты делаешь?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Воскресенье, 23 Августа 2009, 14:30 | Сообщение # 22 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) Как ты делаешь? Я ж тебе кидал исходник! Копирую в мапу участок, занимаемый плагином, картинки проекта, и рисую на окне плагина. Quote (toizy) Могу скинуть наработки в плане овердрав. А кинь, мож натхнення прибудет!
|
|
| |
Alex3A | Дата: Среда, 24 Февраля 2010, 15:56 | Сообщение # 23 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Новая версия старого голого плагина CALLER с http обвязкой в ммв проекте, для отправки пост и гет запросов, разрешения доменных имен, определения наявности соединения, получения исходных текстов html и htp заголовков. Имеет некоторые функции для изменения кодировки текста. Отрабатываются события клиента. Как определить есть ли соединение, с ресурсом в локальной сети или инет- 1. соединившись с днс сервером-отправив ему запрос на перевод имени в ип, (в локальной сети это имя ПК, в инет имя сайта) 2.или соединившись с нужным адресом, указав ип адрес напрямую, без передачи какого либо запроса. В помощь граберам и парсильщикам, и иным добывальщикам чего то из сетки. Добавил функцию дисконект.
Сообщение отредактировал Alex3A - Среда, 24 Февраля 2010, 17:39 |
|
| |
Alex3A | Дата: Среда, 24 Февраля 2010, 18:58 | Сообщение # 24 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Добавил парсинг подстроки, забирай.
|
|
| |
Alex3A | Дата: Четверг, 25 Февраля 2010, 01:44 | Сообщение # 25 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Последняя версия плагина и демки, котлеты отдельно-мухи отдельно, чистый хтмл текст, и залоловок ответа в лист боксе, в каждом итеме отдельный заголовок, от тудава берем куки и чего еще надобно. Толклвание всего позже.
|
|
| |
Alex3A | Дата: Воскресенье, 28 Февраля 2010, 15:38 | Сообщение # 26 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Плагин Caller (tsp.dll). Логика работы плагина. Данная модификация является "голым" ТСР клиентом, без обработки какого либо протокола надстройки. Клиент плагина подключается к ТСР серверу по IP адресу. Введено ряд функций для поддержки использования HTTP протокола, в разрезе не исключающим его работу с другими протоколами-надстройками. Порядок получения данных от сервера- установить порт соединения, установить IP адрес, соединится, предать запрос, получить ответ, отключится от сервера. Порт устанавливается однократно, и меняется только при смене протокола, HTTP порт 80, назначение иных портов смотрите в сети. Порядок получения данных от сервера при использовании доп функций плагина. Установить порт, установить доменное имя сервера, плагин обращается к DNS серверу для получения IP адреса, который и устанавливает для соединения, подключится к серверу, отправить запрос, получить ответ, разорвать соединение. Кадая из выше описанных операций требует времени на свое выполнение, по завершению каждой операции плагин генерирует соответствующее событие, запуская скрипт ммв в свойствах плагина. Этим и надо руководсвоватся при выполнении вашего алгоритма. Принаступлении события плагин устанавливает числовую переменную, описывающую это событие: 1-соединился, 2-отсоединился, 3-ошибка клиента, 4-получен ответ, 5-днс ок, 6-днс нет, и ее текстовый эквивалент, в текстовую переменную. Плагин не определяет есть ли у вас интернет соединение, ему это глубоко по барабану, ведь у вас может быть не одно такое соединение:) Есть такой механизм, RAS, который определяет статус конкретного соединения, но в состав плагина он не включен, в виду иного его назначения. Наличие или отсутствие нужного соединения вы должны определять сами, в своей программе, руководствуясь своим интелектом, и событиями генерируемыми плагином. Невозможность разрешить доменное имя говорит о том что недоступен сервер DNS, в виду его отсутствия или отсутствия нужного соединения, при подключении к конкретному адресу, так же происходит событие, указывающее о результате, неудачное соединение говорит о недоступности указанного сервера или нужного соединения. Таким образом, у вас нет необходимости определать наличие интернет соединеия, ибо это есть уже обобщающая информация, говорящая вам о возможном доступе к нужному ресурсу, который вполне может отсутствовать, даже при наличии интернет соединения. Выше описанные механизмы однозначно определяют возможность доступа к конкретному адресу, что в принципе вам и нужно. Установка соединения и отправка запроса есть разные операции, выполняемые последовательно, и отправлять запрос логично только при наличии соединения с сервером. Что определяет DNS. 1.Символические имена на локальном ПК,пример localhost=127.0.0.1 2.В локальной сети - разрешение имен ПК в IP адреса, доменных имен, при наличии в локальной сети DNS служб, или наличия серверов их имеющих. 3.В инет -разрешение доменных имен в IP адреса. Функции плагина. setport - устанавливает порт соединения (HTTP порт = 80) sethost-получает доменное имя, переводит его в IP адрес, и устанавливает его для соединения. setip- устанавливает IP адрес, для соединения. Используется или эта или пред идущая функция. kconect-устанавливает соединение с сервером, порт и IP адрес устанавливаются перед соединением. disconect-отключает клиент от сервера(разрывает связь). Применительно к HTTP протоколу, заголовок Connection: Close, говорит серверу что после получения запрашиваемого сервер разорвал связь с клинтом и не ждал дополнительных запросов, в ответе вы получите HTTP заголовок сформированный сервером и html текст страницы, если сервер ее вам даст, при преадресации вы получите только заголовок ответа содержащий адрес перехода(куда он вас пошел). Событие, генерируемое плагином, оповещает вас о начале приема информации от сервера, однозначным событием, указывающим на то что получено все, может служить событие disconect, если вы задали такое поведение, иначе, если вы указали Connection: Keep-Alive то вы сами должны определить когда у вас все получено, ибо сервер не будет разрывать соединения. Принятая от сервера информация хранится в плагине до нового запроса в неизменном виде, дополнительные функции по обработке ответа ее не изменяют. sendc-отправка вашего запроса серверу. status-выводит окно где указаны параметры соединения и состояние клиента oem2ansi,ansi2oem-меняет кодировку переданного в плагин текста, с анси в оем и наоборот. utfenk,utfdek-кодирует\декодирует переданный в плагин текст, утф. recev-выдает весь ответ, в том виде как он был получен. getheader-отделяет от ответа содежимое заголовка, находит в принятом тексте два перевода строки и обрезает все остальное. gethtml, аналогично, только возвращает оставшуюся часть, отбрасывая заголовок. parseotvet - выделяет часть текста из исходного ответа, сначала предаем в плагин фрагмент начала, затем фрагмент конца, затем выполняем функцию и считываем результат. В исходном тексте, ищется позиция с которой начинается фрагмент начала, затем текст обрезается с начала до позиции конца фрагмента, затем определяется позиция конечного фрагмента и обрезается с конца, включая фрагмет конца. В прикрепленном файле содержится этот текст и щаблоны использования функций. Возможны некоторые изменения в плагине, при условии сохраниния им своей универсальности. К примеру почтовый протокол имеет вид многоступенчатого диалога, и если зашивать поддержку конкретного протокола плагин потеряет универсальность. Просьба не слать умные вопросы в личку(только совсем тупые ), ибо мне приходится отвечать на одни и теже вопросы по нескольку раз.
|
|
| |
DEMBEL | Дата: Воскресенье, 28 Февраля 2010, 16:03 | Сообщение # 27 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
|
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Воскресенье, 28 Февраля 2010, 16:24 | Сообщение # 28 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Описание дал в открытом виде, ибо оно содержит множество ответов общего характера, применимых не только в контексте использования самого плагина. Когда вы дозреете и у вас вдруг появится необходимость работать не только с текстом но и с бинарными данными (картинки файлы и прочее), я подумаю о реализации более специализированного плагина. Когда вы мучаетесть с разными почтовыми и иными функциями, не позволяющие реализовать вам "бантик с боку", лучшим выходом будет сделать такое самому, на ваш вкус и цвет. Кажущаяся сложность в этих делах, весьма приувеличена
|
|
| |
шнырь | Дата: Вторник, 02 Марта 2010, 03:55 | Сообщение # 29 |
Новый участник
Группа: Пользователи
Сообщений: 1
Репутация: 0
Награды: 0
Статус: Offline
| Быть может я какой-то особоударенный, да только никак не найду этот самый "tsp.dll". Архивы с .mbd-файлами - это наздоровье, а dll ни каких не наблюдаю.
|
|
| |
Alex3A | Дата: Вторник, 02 Марта 2010, 10:11 | Сообщение # 30 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| шнырь, Он вложен в проект, почему то народу такой вариант больше нравится. Ладно не буду объяснять как его вытянуть, выложу отдельно.
|
|
| |