Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм протокола взаимодействия 
:(
    Опции темы
GWTMain
Дата 20.4.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 4.3.2010

Репутация: нет
Всего: нет



Нужно организовать протокол передачи параметр=ключ
Щас как делаю, по tcp/ip с сервера шлю команды а на клиенте их парсю и вызываю нужные функции
к примеру так
Код

position_app
150,300
end

т.е. position_app команда(положение приложения)
150,300 соответственно координаты
и end  передача оконченна, т.е. выполнить
Но как то это не красиво, что можно придумать изящнее?

Это сообщение отредактировал(а) GWTMain - 20.4.2010, 12:53
PM MAIL   Вверх
Akina
Дата 20.4.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(GWTMain @  20.4.2010,  13:52 Найти цитируемый пост)
это не красиво

Чем именно?

Цитата(GWTMain @  20.4.2010,  13:52 Найти цитируемый пост)
что можно придумать изящнее?

Ну давай подумаем.
Имя передавать надо? надо. Значение передавать надо? надо. Маркер окончания передачи нужен? нужен. Местами поменять их можно? я бы не стал.
Вывод - от добра добра не ищут.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
GWTMain
Дата 20.4.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 4.3.2010

Репутация: нет
Всего: нет



Цитата(Akina @  20.4.2010,  14:12 Найти цитируемый пост)
Имя передавать надо? надо. Значение передавать надо? надо. Маркер окончания передачи нужен? нужен. Местами поменять их можно? я бы не стал.


Мммм, думал может есть другое, написал свое и попал в точку=)

PM MAIL   Вверх
Akina
Дата 20.4.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(GWTMain @  20.4.2010,  15:29 Найти цитируемый пост)
думал может есть другое

Есть и другие варианты... скажем, если набор параметров фиксирован, то вместо имени параметра можно передавать его номер, маркером окончания можно установить нулевой байт и т.п. Впрочем, на суть это никак не влияет.
Хотя я бы предусмотрел возможность пакетной передачи нескольких параметров. И ввёл маркер начала пакета и поле контрольной суммы пакета.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Artemon
Дата 20.4.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



объяви структуру

struct SPack
{
     BYTE IdCmd;
     BYTE Key;
     BYTE Val;
};


И передавай ее в бинарном виде.

Плюсы:
1. Размер всего 3 байта.
2. избавились от маркера конца.



--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Akina
Дата 20.4.2010, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



А если оно не лезет в байт?
А как проверять целостность переданных данных?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Artemon
Дата 20.4.2010, 19:35 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Цитата

А если оно не лезет в байт?


Ответ очевиден - используем WORD.

Цитата

А как проверять целостность переданных данных?


А зачем ? Если мы считали структуру, то можно с уверенностью сказать, что данные в ней не битые, не перемешанные и т.д.




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Akina
Дата 20.4.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Artemon @  20.4.2010,  20:35 Найти цитируемый пост)
Ответ очевиден - используем WORD.

а не лезет в word - берём dword... а если надо передать полсотни байтов - чешем репу?

Цитата(Artemon @  20.4.2010,  20:35 Найти цитируемый пост)
можно с уверенностью сказать

а ты смелый...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
GWTMain
Дата 21.4.2010, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 4.3.2010

Репутация: нет
Всего: нет



Artemon, 
Akina, 
А эта структура разными языками поддерживается, или могут быть подводные камни?
PM MAIL   Вверх
Artemon
Дата 21.4.2010, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Цитата

а не лезет в word - берём dword... а если надо передать полсотни байтов - чешем репу?


Я исхожу из задачи и данных, которые показал топикстартер.

Цитата

а ты смелый...


 smile 

Цитата

Artemon, 
Akina, 
А эта структура разными языками поддерживается, или могут быть подводные камни?


В C,C++,C# структуры есть. в Delphi насколько я помню тоже есть подобие структуры, только называется Record (могу ошибаться).


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Akina
Дата 21.4.2010, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Структуры или аналог есть почти во всех языках. Но увы - они не сильно совместимы между семействами, если не принимать доп. мер.

Цитата(Artemon @  21.4.2010,  08:25 Найти цитируемый пост)
Я исхожу из задачи и данных, которые показал топикстартер.

Он не показал пример данных типа
Код

Window_Status
Processing data...
end



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.