Паблиш Сабскрайбер

Общие принципы, проектирование, модуляризация, темплейты и шаблоны
Ответить
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Паблиш Сабскрайбер

Сообщение Eugen Graf »

Обсуждаем Паблиш Сабскрайбер

Pubsub_v1_0_1.zip
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Сообщение Eugen Graf »

У меня самого есть вопросы и самокритика. И так:

1. В голову каждого пакета надо добавлять шапку (Header) в виде стринга. Мне лично это не нравится, хотелось бы как то добавить систему Alias, т.е. при появлении новой темы (Topic) диспетчер должен дать этой теме номерок и раздавать этот номерок интерессующимся клиентам. Пока ещё не соображу как это реализовать. Я думаю перейти на объектно ориентированное программирование. Т.е. тема будет являтся объектом (кластером), состоящим из названия и его номерка, для начала. Как идея, правильное направление?

2. Так же хотелось бы сделать и клиента объектом, состоящим из названия клиента, референса на клиент, а так же его тип. На данный момент, клиент состоит из названия (находится в саой левой колонке таблицы в диспетчере), из референса (невидимый снаружи) и из типа клиента, находится в самой таблице.

3. Если какой то клиент попадет в какую то ошибочную ситуацию и начинает гнать и отсылает диспетчеру данные с очень большой частотой, то диспетчер занят только этим клиентом, а другие клиенты отсыхают. Надо бы создать какой то защитный механизм, пока не знаю какой. Ведь если дать доступ к диспетчеру какому нибудь удалённому клиенту, то стоит только отсылать диспетчеру сообщения в While Loop, и вся система затормозит, получается система никак не защищена от такой ситуации.

4. Кроме всего прочего, хотелось бы внедрить систему защиты паролем и/или передавать данные закодированно, пока я тоже не знаю как лучше всего это реализовать.

Подскажите что правильно, что неправильно и подкиньте может ещё пару идей и критики.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Паблишер Сабскрайбер

Сообщение Jakob Brontfeyn »

А это тебе знакомо?
Вложения
uroki_Lab_3_06.pdf
(495.61 КБ) 448 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Паблишер Сабскрайбер

Сообщение Eugen Graf »

Ты имеешь ввиду shared variables? Естественно, но я не использую какие либо переменные в своих программах, будь то локальная, глобальная или shared variable. Но конечно спасибо за совет.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Паблишер Сабскрайбер

Сообщение Eugen Graf »

И так, на данный момент занимаюсь улучшением программы. Хочу кроме всего прочего добавить ещё и "рукопожатие", т.е. handshake. При получении какой либо команды будь то диспетчер или клиент, он обязан сообщить о получении команды.
Сейчас у меня около 10 команд, добавлю ещё одну, и назову её "acknowledge" или сокращённо "ack".
Commands.PNG
Commands.PNG (2.84 КБ) 7509 просмотров
Command_new.PNG
Command_new.PNG (10.98 КБ) 7513 просмотров
А вообще наверное надо бы обьяснить как происходит комуникация между параллельными потоками в моей программе.
Об этом я напишу в этой соседней теме
/viewtopic.php?f=59&t=153

а так же

/viewtopic.php?f=23&t=159
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Паблиш Сабскрайбер

Сообщение Eugen Graf »

Начинаю программировать его на базе ООП, желающих помочь или присоединиться прошу откликнуться. :crazy:

Тема довольно интересная. Тот, кто будет участвовать в разработке будет естесственно добавлен в Copyrights.
Ответить

Вернуться в «Модели программирования»