Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

Протокол "сайт<->клиентские программы"   Найти похожие ветки 

 
McSimm_ ©   (2007-05-08 19:01) [0]

Старый протокол не устраивает по ряду причин. Несмотря на то, что его поддержка планируется для совместимости, есть все предпосылки создать что-то более удобное.
Мои тонкие намеки на web-service (soap) и прочие xml-based варианты встречают устойчивое недовольство со стороны клиентописателей :)
Хотя довод о лишней информации меня пока не убедил. Не так уж ее и много, но дает свои преимущества.

Ketmar, твое предложение придумать новый протокол еще в силе?
Я с удовольствием выслушал бы твои идеи и предложения. Равно как и мнения всех прочих посетителей.


 
Плохиш ©   (2007-05-08 19:05) [1]


> твое предложение придумать новый протокол еще в силе?

О, начинается борьба с клиентостроителями :-)) Почему бы общепринятый протокол не использовать?


 
Юрий ©   (2007-05-08 19:08) [2]

Честное слово, пересмотрел своё негативное мнение использовать xml в качестве обмена данными.
Вполне неплохо выглядит:

<xml>
  <post>
     <author>McSimm_
     </author>
     <date>1234567890
     </date>
     <message>Старый протокол не устраивает по ряду...
     </message>
  </post>
  ...
</xml>


 
Eraser ©   (2007-05-08 19:10) [3]

> [0] McSimm_ ©   (08.05.07 19:01)


> прочие xml-based варианты встречают устойчивое недовольство
> со стороны клиентописателей

настоятельно советую "забить" на клиентописателей и сделать все на базе xml, т.о. можно будет, например, обработать данные xsl"ом, при этом, что важно, одни и те же методы построения данных будет использоваться, как для самого сайта, так и для клиентов!
Доводы типа xml надо использовать только там где нужно, imho, как говориться, тут не канают, т.к. xml именно для того и сделан, чтобы отделить данные от представления. Зачем же изобретать велосипеды.


 
Kerk ©   (2007-05-08 19:10) [4]

В эпоху Web2.0 надо XML делать


 
cyborg ©   (2007-05-08 19:15) [5]

Мудя по [2] Юрий ©   (08.05.07 19:08) вполне даже хорошо.


 
Gero ©   (2007-05-08 19:15) [6]

Да, я тоже за XML, особено теперь, когда анлимит и трафик до лампочки.


 
cyborg ©   (2007-05-08 19:32) [7]

> [5] cyborg ©   (08.05.07 19:15)
Мудя

Извиняюсь Судя Ж)


 
MeF Dei Corvi ©   (2007-05-08 21:20) [8]


> В эпоху Web2.0 надо XML делать

+1
web-сервисы рулят :)


 
Knight ©   (2007-05-08 21:24) [9]

[0] А можно начать с начала&#133 а именно с того, что именно не устраивает в текущем протоколе?


 
McSimm ©   (2007-05-08 21:33) [10]

Основное - содержимое темы передается в отформатированном html. Будет передаваться раздельно (логин, id юзера, дата, текст). Текст либо сырой, либо с разметкой по желанию запрашивающей программы.

Авторизация. Новый протокол будет доступен для зарегистрированного посетителя.

Написание ответов через протокол, а не через черный ход.

Вносимые модераторами изменения тоже будут запрашиваться по приципу изменений с момента времени.

Расширяемость - со времением будут добавлятся не только форумные команды.


 
Knight ©   (2007-05-08 21:51) [11]

А почему нельзя это встроить в текущий формат?

Для универсальности можно сделать выдачу протокола клиентам, типа, при соединении клиент запрашивает версию текучего протокола, если ничего не изменилось, то работает как до этого, если изменилось, то перед выполнение какого-то действия отсылает запрос на описание полей ответа, который выдаётся в том же формате как и с данными, но вместо них вставляются условные константы (AUTHOR #9 DATA #9 MESSAGE &#133) которые остаются неизменными из версии к версии. Клиент получая описание протокола, сохраняет новые индексы данных в настройках и выуживает из ответов то, что ему надо, в соответствии сними. т.е. поля можно переставлять, добавлять новый и это никак не отразится на работе клиентов.


 
Knight ©   (2007-05-08 21:57) [12]

А ещё можно ввести в запрос номер протакола&#133 если номера нет, то выдаётся в старом (для автоматической поддержки не переделанных клиентов), если указан, то ответ формируется по конкретному шаблону (для поддержки клиентов, которым влом подстраиваться)


 
Kerk ©   (2007-05-08 22:03) [13]

> Knight

Все стопиццот версий протокола ты будешь реализовывать? :)


 
Knight ©   (2007-05-08 22:07) [14]

Для выдачи ответа в последней версии, можно заюзать ноль&#133 V=0 или ещё какую удобную константу.


 
Knight ©   (2007-05-08 22:08) [15]

> [13] Kerk ©   (08.05.07 22:03)

В смысле?


 
Knight ©   (2007-05-08 22:15) [16]

> [13] Kerk ©   (08.05.07 22:03)

Версия реализуется по мере накопления потребностей&#133 например, был протокол 01 в котором были поля Автор-Дата-Пост &#133 появилась потребность добавить какую-то информацию Добавляется протокол 02 где Автор-Пост-ЧтоТо-Дата &#133 клиент обрабатывающий ЧтоТо выведет это, старый перестроит порядковые номера полей и возьмёт, то что брал всегда, завязанный на одну версию протокола запросит данные в формате протокола 01&#133


 
Knight ©   (2007-05-08 22:17) [17]

Клиент, не знающий ничего о протоколах, ничего не запросит и получит ответ в формате текущего (который работает сейчас) протокола&#133


 
Knight ©   (2007-05-08 22:17) [18]

Вроде дёшего и сердито&#133 хотя не знаю, может только так кажется&#133 решать вам %)


 
Knight ©   (2007-05-08 22:19) [19]

Тут есть ещё плюс&#133 можно сделать аскетический протокол для мини-мобильных клиентов.


 
Knight ©   (2007-05-08 22:27) [20]

Да&#133 щас посмотрел на список своих ответов&#133 есть ещё предложение&#133 Если человек отправил сообщение, потом что-то ддодумал и послал следующее, то если между его предыдущим сообщением и новым не было ни одного, то пристыковывать новое к предыдущему&#133


 
Kerk ©   (2007-05-08 22:28) [21]

> [20] Knight ©   (08.05.07 22:27)

Да! Тоже самое подумалось после прочтения твоих ответов :)))))))))


 
Kerk ©   (2007-05-08 22:29) [22]

В phpbb такое есть. Но пристыковка должна работать в течение, например, часа после отправки поста.


 
Knight ©   (2007-05-08 22:29) [23]

> [21] Kerk ©   (08.05.07 22:28)

Так может и в мыслях о протоколах есть что-то хорошее %)


 
Knight ©   (2007-05-08 22:31) [24]

> [22] Kerk ©   (08.05.07 22:29)

Согласен, но при условии, что между не было ни одного чужого ответа&#133


 
Knight ©   (2007-05-08 22:33) [25]

> [22] Kerk ©   (08.05.07 22:29)

А то бы в моей теме где я искал порытую собаку, первые 13 постов слились в одни :)


 
ANTPro ©   (2007-05-08 22:34) [26]

> [19] Knight ©   (08.05.07 22:19)
> мини-мобильных клиентов

Да, про мобильных клиентов не надо забывать : )


 
Kolan ©   (2007-05-08 22:42) [27]

Я за xml, я его хоть понять смогу :)


 
Knight ©   (2007-05-08 22:55) [28]

Я за обновлённый текущий, его парсить проще по табам в массив порезал и взял нужные индексы&#133 всё плоско и понятно, чем ковыряться в xml-деревьях :)


 
Eraser ©   (2007-05-08 22:59) [29]

> [28] Knight ©   (08.05.07 22:55)

для того, чтобы ковыряться в xml деревьях есть парсеры.


 
Knight ©   (2007-05-08 23:02) [30]

Кстати&#133 можно даже сделать вариант со свободным протоколом, т.е. формирование ответа на основе переданного клиентом шаблона из стандартизованных констант описанных выше.


 
Knight ©   (2007-05-08 23:04) [31]

> [29] Eraser ©   (08.05.07 22:59)

Ага&#133 возился раз с несколькими, все вышибало как пробки из бутылки на одном не совсем стандартном xml тексте, из-за присутствия там спецсимволов&#133 пришлось парсить самому&#133


 
Eraser ©   (2007-05-08 23:18) [32]

> [31] Knight ©   (08.05.07 23:04)


> на одном не совсем стандартном xml тексте, из-за присутствия
> там спецсимволов

так надо, чтобы xml был совсем стандартный )


 
Knight ©   (2007-05-08 23:34) [33]

> [32] Eraser ©   (08.05.07 23:18)

По тому общению с xml я сделал вывод (мож не верный), что это почти как html &#151; есть стандарт, но каждый воротит &laquo;во что горазд&raquo;&#133 а недавно прочитал, что даже Офис с Виндой юзают разные парсеры&#133 Сталкивался с тем, что многие парсеры юзают парсер установленный в системе, поэтому приходится его обновлять, чтобы установленная прога парсила корректно, но при другие начинают парсить криво&#133 в общем мне идея с xml как-то не очень нравится, лучше придумать свой стандарт, чем привязываться к чему-то стороннему.


 
Knight ©   (2007-05-08 23:36) [34]

Но как я уже написал&#133 решать вам&#133 я тут флудер&#133 :(

(Флудить завязываю)


 
Плохиш ©   (2007-05-08 23:38) [35]


> Knight ©   (08.05.07 23:34) [33]

Это всё от того, что всякие пионэры вместо изучения документации начинают огород городить основываясь на своих домыслах...


 
Knight ©   (2007-05-08 23:42) [36]

> [35] Плохиш ©   (08.05.07 23:38)

Я xml вообще не пользую&#133


 
Zeqfreed ©   (2007-05-08 23:47) [37]

Я за xml, хотя ярым его любителем не являюсь :)
Но грамотно реализовать XML-протокол, который бы полностью удовлетворял стандартам весьма сложно. Можно использовать упрощенный протокол с ограниченным набором возможностей, как это сделано, например, в XMPP.


 
Плохиш ©   (2007-05-08 23:50) [38]

Предлагаю вебсервис на делфях своять, чтобы всякие джависты не подключались :-D А ещё лучше на кайликсе, там ещё больше зубы о wsdl обламают :-)))


 
Knight ©   (2007-05-08 23:51) [39]

Чем это лучше? Каждое короткое имя автора утяжеляется тегами в 3 раза  
<author>McSimm_</author>
вместо
#9McSimm_#9


 
Kerk ©   (2007-05-08 23:53) [40]

> [39] Knight ©   (08.05.07 23:51)

XML-вариант проще расширять


 
Knight ©   (2007-05-08 23:55) [41]

> [40] Kerk ©   (08.05.07 23:53)

Например?


 
McSimm ©   (2007-05-08 23:58) [42]


> Knight ©   (08.05.07 23:51) [39]

Примеры:
<name>McSimm_</name>
<name id="1176385134">McSimm_</name>
<name id="1176385134" pict="3">McSimm_</auth>
И т.д.


 
Knight ©   (2007-05-09 00:07) [43]

<xml>
 <post>
    <author>McSimm_
    </author>
    <date>1234567890
    </date>
    <message>Старый протокол не устраивает по ряду&#133
    </message>
 </post>
 &#133
</xml>


AUTHOR #9 DATE #9 MESSAGE #13
McSimm_ #9 1234567890 #9 Старый протокол не устраивает по ряду&#133


<name>McSimm_</name>
<name id=&laquo;1176385134&raquo;>McSimm_</name>
<name id=&laquo;1176385134&raquo; pict=&laquo;3&raquo;>McSimm_</auth>


NAME #9 &#133
McSimm_ #9 &#133


NAME #9 ID #9 &#133
McSimm_ #9 &laquo;1176385134&raquo;



NAME #9 ID #9 PIC #9&#133
McSimm_ #9 &laquo;1176385134&raquo; &laquo;3&raquo;


Даже с вставкой описания протокола в ответ, это будет короче&#133 а если вынести описание в отдельный запрос, т.к. он не будет меняться каждый день это точно, то разница довольно ощутимая&#133


 
ANTPro ©   (2007-05-09 00:07) [44]

> [42] McSimm ©   (08.05.07 23:58)

name=McSimm_

name=McSimm_
id="1176385134"

name=McSimm_
id="1176385134"
pict="3"

---
Чем хуже?


 
Eraser ©   (2007-05-09 00:08) [45]

> [33] Knight ©   (08.05.07 23:34)


> По тому общению с xml я сделал вывод (мож не верный), что
> это почти как html — есть стандарт, но каждый воротит «во
> что горазд»…

не соглашусь.. стандарт выработан уже лет как 10 точно. Это году эдак в 2000 были разночтнения, сейчас все устаканилось. Есть xml, есть xslt. Все это очень похоже на html, только как раз разница в том, что здесь все стандартизировано.


 
McSimm ©   (2007-05-09 00:08) [46]

xml позволяет делать ветвления любой вложенности.

<thread count="42" date="08.05.07 23:58">
 <title>Протокол "сайт<->клиентские программы"</title>
 <name>McSimm_</name>
 <dsc>Старый протокол не устраивает по ряду причин. Несмотря на то, что его поддержка планируется для совместимости, есть все ...</dsc>
 <last>
 <a>Knight</a><a>Knight</a><a>Плохиш</a><a>Knight</a><a>Zeqfreed</a><a>Плохиш</a><a>Knight</a><a>Kerk</a><a>Knight</a><a>McSimm</a>
 </last>
</thread>

В формате с разделителями разделителей не напасешся :)


 
Knight ©   (2007-05-09 00:09) [47]

да &laquo; #9 &#132; &#151; это условно табуляция&#133


 
Eraser ©   (2007-05-09 00:09) [48]

> [44] ANTPro ©   (09.05.07 00:07)

всем. а главное тем, что McSimm"у прийдется писать 2 метода генерации данных, вместо 1.


 
McSimm ©   (2007-05-09 00:16) [49]


> Eraser ©   (09.05.07 00:09) [48]

Веб не будет представлен как xml/xslt.


 
Eraser ©   (2007-05-09 00:17) [50]

> [49] McSimm ©   (09.05.07 00:16)

а и не нужно, достаточно на стороне сервера установить xslt процессор (а луче несколько), они будет объединять xsl и xml и выдавать клиентам html.


 
McSimm ©   (2007-05-09 00:19) [51]

я это и имел в виду.


 
Knight ©   (2007-05-09 00:19) [52]

> [46] McSimm ©   (09.05.07 00:08)

С этим согласен&#133  

<last>
<a>Knight</a><a>Knight</a><a>Плохиш</a><a>Knight</a><a>Zeqfreed</a><a>Плохиш</a><a>Knight</a><a>Kerk</a><a>Knight</a><a>McSimm</a>
</last>


Но с другой стороны&#133 для чего ЭТО разделять клиенту? Это лишь информация о последних постах и делить их на ники нет смысла&#133


 
Knight ©   (2007-05-09 00:21) [53]

Можно другой обосновынный пример того, что сайт может дать клиенту в виде ветвления? То что клиенту необходимо и что он не может взять из своих локальных баз.


 
Knight ©   (2007-05-09 00:25) [54]

Я понимаю, что наворотить можно что угодно&#133 даже столько, что и безлимитную выделенку закроют :)))
Но так ли это необходимо?


 
Knight ©   (2007-05-09 00:39) [55]

По моему скромному имхо, главная задача клиента &#151; это всё-же минимизировать траффик&#133 всё остальное от лукавого %)


 
Knight ©   (2007-05-09 00:45) [56]

В общем, &laquo;Утро вечера мудренее&raquo;&#133 лучше перечитать это всё завтра на свежую голову&#133 СН %)


 
Gero ©   (2007-05-09 01:27) [57]

> [55] Knight ©   (09.05.07 00:39)
> главная задача клиента — это всё-же минимизировать траффик

Уже нет. Это, конечно, по-прежднему одна из приоритетных задач, но ее актуальность все меньше и меньше.


 
Knight ©   (2007-05-09 09:09) [58]

> [57] Gero ©   (09.05.07 01:27)


Для кого-то да, для кого-то нет&#133


> [52] Knight ©   (09.05.07 00:19)


Кстати&#133 Knight,Knight,Плохиш,Knight,Zeqfreed,Плохиш,Knight,Kerk,Knight,McSimm прекрасно парсится на стороне клиента по естественным разделителям &laquo;запятая&raquo;&#133 и не к чему заменять ОДНУ запятую аж целой конструкцикй </a><a> :(


 
VirEx ©   (2007-05-09 09:49) [59]


>  [57] Gero ©   (09.05.07 01:27)

если все перейдем на xml формат, то как мне быть если у меня DMClient 2.1.2?
меня не устраивают новые версии этой паги совершенно: тормоза, вставка сообщений в каком-то мэмори с псевдоформатированием и ненужными смайлами которыми я не пользуюсь, если нужно - раз в месяц могу и три символа сам напечатать = - O, плохо не станет, при том что я не шибко эмоциональный человек.
нах...фига это всё нужно (пока говорю про клиент)?
перепишите мне модуль для xml этой замечательной программы (v 2.1.2), и я с радостью соглашусь на новый протокол :-\
тогда останется дело за малым - адаптировать мобильного клиента, темболее я уже скачал пример парсера xml для j2me, буду разбираться...

разумно было бы так:
1) оставить текущий протокол
2) добавить xml протокол по другой ссылке, например
http://www.delphimaster.ru/cgi-bin/xmlclient.pl

различные интерфейсы можно посмотреть по линку http://wiki.liveinternet.ru/ServisDnevnikovLiveInternet/InterfejjsyVzaimodejjstvija?v=nyn
3) я так помнимаю что максим может посмотреть логи посещаемости клиентами форума, иначе зачем в данной спецификации указывать название версию клиента...
ну вобщем через год-два посмотреть по логам, на какой интерфейс больше "запали", вот тогда и создать ветку о полной замене старого протокола.


 
McSimm ©   (2007-05-09 10:22) [60]


> рекрасно парсится на стороне клиента по естественным разделителям
> «запятая»

Да, dolphin так парсит, но встречаются ники с запятой :)


> VirEx ©   (09.05.07 09:49) [59]

Я ж написал в начале, что старый останется.


 
VirEx ©   (2007-05-09 10:29) [61]


>  [60] McSimm ©   (09.05.07 10:22)

тогда я спокоен за судьбу старого протокола )


 
DrPass ©   (2007-05-09 10:42) [62]


> Хотя довод о лишней информации меня пока не убедил. Не так
> уж ее и много, но дает свои преимущества

В случае добавления оболочки SOAP "лишней" будет раза в три больше :)


 
Knight ©   (2007-05-09 10:48) [63]

> [60] McSimm ©   (09.05.07 10:22)

А смысл в этом разбиении ников? Что висит на этих ссылках? Переход к анкете? К сообщению?


 
Knight ©   (2007-05-09 10:54) [64]

> [60] McSimm ©   (09.05.07 10:22)

Максим, напиши, что вообще планируется сделать и как это будет использоваться&#133 без общей картины сложно, что-то конкретное посоветовать&#133 мож у тя там планы Наполеоновские :)))


 
Рационализатор   (2007-05-09 11:22) [65]

Я все время стеснялся спросить: почему бы не блокировать создаваемые ветки, в теле сообщения которых содержится строка "<a href" ? Большинство спамных веток зарубались бы при попытке их создания. И модераторам работы меньше.


 
McSimm ©   (2007-05-09 11:41) [66]


> Большинство спамных веток зарубались бы при попытке их создания.

Так и есть.


> в теле сообщения которых содержится строка "<a href"

В теле нормальных веток это тоже встречается. Не все так просто. Обсуждение вопросов html на сайте не запрещено.


 
VirEx ©   (2007-05-09 11:41) [67]

примерная структура xml-файла.
1) запрос настроек - поддерживаемых сервером кодировок, технологий шифрования и т.п.
<?xml version="1.0" encoding="windows-1251"?>
<QUERY id="0">
</QUERY>
ответ сервера:
<?xml version="1.0" encoding="windows-1251"?>
<QUERY  id="0">
 <encoding>UTF-8, windows-1251, KOI8-R</encoding>
 <crypt>MD5</crypt>
 <message>text, HTML</message>
 <queryid>         =идетнификаторы запросов
 0=getconfig,     =конфигурация
 1=getforums,    =доступные форумы
 2=gettopics,     =доступные ветки в форуме
 3=gettopic,      =загрузка сообщений из форума
 4=getuserinfo,  =информация о пользователе
 5=addtopic,     =добавить свою ветку
 6=addmessage,=добавить сообщение в ветку
 7=edituserinfo  =изменить свою анкету
</QUERY>

2) добавление сообщения
<?xml version="1.0" encoding="windows-1251"?>
<QUERY id= "6" username="User" password="2e123e12ee3e23" crypt="MD5">
 <forum>3</forum>
 <topic>1178636502</topic>
 <message type="text">текстовое сообщение</message>
</QUERY>

3) добавление новой ветки
<?xml version="1.0" encoding="windows-1251"?>
<QUERY id= "5" username="User" password="2e123e12ee3e23" crypt="MD5">
 <forum>3</forum>
 <message type="text">новая ветка</message>
 <description>вот, решил вдруг сделать новую ветку...</description> =возможно не понадобится
 <message type="HTML">потестите сайт < a href = sute.com > l i n k < / a></message>
</QUERY>


 
VirEx ©   (2007-05-09 11:50) [68]

на добавления сообщений, веток, изменения своей анкеты, сервер будет возвращать:
<?xml version="1.0" encoding="windows-1251"?>
<QUERY  id="5">
 <date>01.01.2008</date>
 <result  id="0"></result>  = id это результат, если 0 то успешно, если 1,2... то видно нужно добавить в запрос о конфигурации :)
 <error>no problem</error>  = сообщение об ошибке
<QUERY  id="0">


 
McSimm ©   (2007-05-09 11:54) [69]


> В случае добавления оболочки SOAP "лишней" будет раза в
> три больше

согласен, soap тут явно лишний.


 
VirEx ©   (2007-05-09 11:55) [70]


> [67] VirEx ©   (09.05.07 11:41)

ай эм сорри в добавлении новой ветки строка
<message type="text">новая ветка</message>
меняется на
<title type="text">новая ветка</title>


 
VirEx ©   (2007-05-09 11:58) [71]


> [68] VirEx ©   (09.05.07 11:50)

блин, куда спешу.. )
вобщем так:
на добавления сообщений, веток, изменения своей анкеты, сервер будет возвращать:
<?xml version="1.0" encoding="windows-1251"?>
<QUERY  id="5"> =здесь id это ид запроса клиента на который возвращается данный ответ
 <date>01.01.2008</date>
 <result  id="0"></result>  = id это результат, если 0 то успешно, если 1,2... то видно нужно добавить в запрос о конфигурации :)
 <error>no problem</error>  = сообщение об ошибке
</QUERY>


 
Kerk ©   (2007-05-09 12:04) [72]

> [66] McSimm ©   (09.05.07 11:41)

Насчет спама. Прикрути akismet, кодинга на 10 минут, а заметную часть спама отфильтрует.


 
Knight ©   (2007-05-09 13:26) [73]

Чё-то я тут подумал&#133 а почему бы не использовать правило золотой середины&#133 т.е. не смешать текущий протокол с xml? Т.е. плоскую инфу выдавать через табуляцию, а форматированные участки в xml&#133


 
VirEx ©   (2007-05-09 13:29) [74]


>  [73] Knight ©   (09.05.07 13:26)

это и будет "смешение текущего протокола с xml"


 
Kerk ©   (2007-05-09 13:31) [75]

Не надо ничего смешивать. Если уж и делать, то валидный xml


 
Knight ©   (2007-05-09 13:36) [76]

> [75] Kerk ©   (09.05.07 13:31)

Так и будут вставки из валидного xml&#133 точнее, тела xml, т.к. <?xml version=&laquo;1.0&raquo; encoding=&laquo;windows-1251&raquo;?> будет я так понял строка стандартная и её можно добавить и перед распарсиванием.


 
Knight ©   (2007-05-09 13:44) [77]

Ещё такой вопрос&#133 если в тексте сообщений будут теги, и подобное&#133 их замена и прикрытие для сохранения целостности xml будет делаться на стороне сервера автоматом? И так же на стороне клиента&#133


 
Kerk ©   (2007-05-09 13:45) [78]

> [77] Knight ©   (09.05.07 13:44)

Да почитай ты немного об XML


 
Knight ©   (2007-05-09 13:52) [79]

> [78] Kerk ©   (09.05.07 13:45)

К чему вопрос&#133 раз хотел вытащить данные из xml &laquo;как есть&raquo; т.е. с &_amp и подобным, а парсер автоматом менял их на соотетствующие символы.


 
DVM ©   (2007-05-09 13:53) [80]

Я за XML !


 
Kerk ©   (2007-05-09 13:55) [81]

> [79] Knight ©   (09.05.07 13:52)

Можно писать так, чтоб не заменялось. В xml можно хранить даже бинарные данные.


 
antonn ©   (2007-05-09 13:59) [82]

я за ini-файлы!
:)


 
VirEx ©   (2007-05-09 14:02) [83]

за реестр! :)


 
Knight ©   (2007-05-09 14:06) [84]

xml так xml &#133 :)


 
Knight ©   (2007-05-09 14:15) [85]

Хотя мне, например, траффик далеко не до лампочки, т.к. часто сижу на гольном gprs&#133


 
Knight ©   (2007-05-09 14:16) [86]

А архивация передаваемых данных будет?


 
{RASkov} ©   (2007-05-09 14:35) [87]

> [85] Knight ©   (09.05.07 14:15)

+1
При написании протокола клиента не следует забывать о самом главном для программ-клиентов - это трафик, а в нем и скорость :)


 
{RASkov} ©   (2007-05-09 14:38) [88]

Добавлю к [87]
... а в остальном пофику каким он будет.... :) главное экономный, быстрый и удобный...
Во загнул.... да?


 
Kerk ©   (2007-05-09 14:38) [89]

> [87] {RASkov} ©   (09.05.07 14:35)

Основная экономия заключается в том, что при обновлении ветки, скачиваются только новые посты. А лишняя сотня байт на xml-тэги погоды не сделает.


 
{RASkov} ©   (2007-05-09 14:48) [90]

> [89] Kerk ©   (09.05.07 14:38)
> А лишняя сотня байт на xml-тэги погоды не сделает

А у меня вот трафик дорогой и везде стараешься экономить, картинки в брофзерах поотключал, DMClient поставил (Супер, Спасибо Gero) для просмотра этого форума, и один хер за месяц нагорает.... :) Вот только не хотелось бы, чтоб для программ-клиентов протокол стал прожорлевым ... :(
Да... наступит время когда плевать на этот трафик будет.... но в нашей дыре, думаю не скоро.. :(


 
Eraser ©   (2007-05-09 14:56) [91]

> А лишняя сотня байт на xml-тэги погоды не сделает.

полностью согласен!

уверен, что суммарный объем мета-данных xml за сутки, при активном просмотре форума, будет не больше парочки каких-нибудь картинок ))


 
Knight ©   (2007-05-09 17:30) [92]

> [91] Eraser ©   (09.05.07 14:56)

Пара каких-нибудь картинок&#133 могут весить несколько метров&#133 Гы :)


 
Knight ©   (2007-05-09 17:47) [93]

Господа, если вы с самого начала выбрали xml, то так бы и озвучили тему &laquo;Делаем новый протокол. Что бы вы хотели реализовать в клиентах?&raquo; %)


 
Knight ©   (2007-05-09 18:14) [94]

Отвечая на вопрос [93]&#133

Подгрузка списка конференция, отправка/принятие сообщений и т.п. это само собой&#133
&#133

Редактирование анкеты и доступность анкет в оффлайн.

Доппоиск по сайту, а не локальным базам. Для подгрузки определённых тем, по содержимому и авторам (Например, после установки клиента загрузить только своих вопросы или вопросы со своими ответами без полной загрузки).

Подгрузку списка уточнений к вопросу по ОС, D, БД, иконки и прочее соответственно контекста конференции с указанием &#151; типа выбора (chek-radio), типа содержимого (текст/изображение), текст / имя файла для подкачки.

Выдача пути к файлу по его используемому имени для загрузки.

&#133 Это на вскидку. Что ещё, надо подумать&#133


 
Knight ©   (2007-05-09 18:42) [95]

Можно ещё добавить во все запросы имя пользователя и на основе их сделать выдачу списка &laquo;активных&raquo;, т.е. которые обращались к серверу за последние Х минут (например, 5)


 
Knight ©   (2007-05-09 18:49) [96]

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

В принципе, так будет более понятно, стоит ждать ответа, или уже полчаса как все спят и можно идти туда же :)


 
Virgo_Style ©   (2007-05-09 18:56) [97]

Knight ©   (09.05.07 18:49) [96]
каждые минуты 4 отправлятеся спецзапрос только с именем


А пользователь уже полчаса как спит -)
Если он активен, то запрашивает данные, а если запрашивает, то зачем еще что-то отсылать?


 
Knight ©   (2007-05-09 18:58) [98]

> [97] Virgo_Style ©   (09.05.07 18:56)

А может он прогу пишет или в сторонке змея делает&#133 спит на клавиатуре, тоже вариант. Можно сделать его условно-онлайновым :)))


 
Kerk ©   (2007-05-09 19:02) [99]

Забавно трафик экономят теперь. Каждые 4 минуты, говорите?


 
Knight ©   (2007-05-09 19:06) [100]

> [99] Kerk ©   (09.05.07 19:02)

HELO-НИК
Это не трафик.


 
Knight ©   (2007-05-09 19:07) [101]

> [100] Knight ©   (09.05.07 19:06)

Можно ведь и реже&#133 это так, для примера.


 
Gero ©   (2007-05-09 19:40) [102]

Основное требование к клиентскому протоколу — это возможность использования в клиенте всех форумных фичей.
И еще, Максим, мы говорит про протокол только для форума?


 
Knight ©   (2007-05-09 19:44) [103]

Да&#133 надо ещё чат прикрутить&#133


 
Knight ©   (2007-05-09 19:45) [104]

Мне он кнешно не нужен, но чтоб было&#133 вдруг понадобится :)


 
Kerk ©   (2007-05-09 19:45) [105]

> [104] Knight ©   (09.05.07 19:45)

Ты вообще в принципе способен излагать мысль за один раз? Ничего личного.


 
Knight ©   (2007-05-09 19:47) [106]

> [105] Kerk ©   (09.05.07 19:45)

Способен, но для этого надо ещё 10 дел отложить&#133 а паралельные процессы выдают результаты по мере обработки :)))


 
ANTPro ©   (2007-05-09 20:11) [107]

> [0] McSimm_ ©   (08.05.07 19:01)
> Старый протокол не устраивает по ряду причин.

Кстати, а что не устраивает в текущем протоколе? И что предполагается добавить в новый?


 
McSimm ©   (2007-05-09 20:14) [108]


> Gero ©   (09.05.07 19:40) [102]

Суть простая.
В протоколе меняется структура данных - сообщение разделяется на элементы вместо отформатированного html. В протокол встраиваются модераторские действия - закрытие, удаление, перенос. Не костылем, как сейчас.
Обязательная авторизация и возможность отправлять сообщения.

Поскольку изменения довольно обширные, возникло желание не расширять старый, а сделать новый, более удобный и проще расширяемый.


 
antonn.pda   (2007-05-09 20:15) [109]

и сделайте версию для кпк, а то неудобно странички смотреть:)


 
Eraser ©   (2007-05-09 20:18) [110]

> [109] antonn.pda   (09.05.07 20:15)

если будет на базе xml, то сделать версию для кпк можно будет на любом сайте и без особых проблем.


 
Gero ©   (2007-05-09 20:23) [111]

> [108] McSimm ©   (09.05.07 20:14)

Я понимаю необходимость введения принципиально нового протокола и всецело ее поддерживаю.
Но я спрашиваю, будет ли уделом нового протолола только форум или там будет и новостная лента, чат, еще что-то?


 
McSimm ©   (2007-05-09 20:37) [112]

В принципе можно будет расширять протокол. Но до разумных пределов.

Регистрация, изменение анкет - это перебор. Будет через Web.
Новостная лента нормально читается из rss (а вот для форума это не удобно), но не помешает встроить и в протокол.
К новому чату можно подключаться непосредственно, его протокол и так хорош, ничего лишнего. Позже напишу или спецификацию или пример.
Когда на сайте добавится механизм личных сообщений, он тоже будет реализован в протоколе.
Ну и далее, по мере возникновения потребностей.


 
Gero ©   (2007-05-09 20:41) [113]

Могу сказать, что после ввдения нового протокола DMClient либо умрет насовсем либо получит новую жизнь :)


 
Knight ©   (2007-05-09 20:44) [114]

> [113] Gero ©   (09.05.07 20:41)

Умереть не дадим&#133 :)


 
Knight ©   (2007-05-09 20:46) [115]

> [113] Gero ©   (09.05.07 20:41)

ОФФ: Если новая версия ещё не доделана&#133 может добавите в &laquo;Журнале&raquo;


 
easy ©   (2007-05-09 20:59) [116]


> Gero © (09.05.07 20:41) [113]
> Могу сказать, что после ввдения нового протокола DMClient
> либо умрет насовсем либо получит новую жизнь :)


 
easy ©   (2007-05-09 21:00) [117]

извините.. )

> McSimm © (09.05.07 10:22) [60]
>  
> Я ж написал в начале, что старый останется.


 
ANTPro ©   (2007-05-09 21:14) [118]

> [117] easy ©   (09.05.07 21:00)

А как же клиент к чату?


 
easy ©   (2007-05-09 21:34) [119]


> А как же клиент к чату?

переделаем


 
Kerk ©   (2007-05-10 12:11) [120]

> [115] Knight ©   (09.05.07 20:46)

http://img211.imageshack.us/img211/4194/postspi1.jpg
:)))))


 
Reindeer Moss Eater ©   (2007-05-10 12:14) [121]

Мои тонкие намеки на web-service (soap) и прочие xml-based варианты встречают устойчивое недовольство со стороны клиентописателей :)

Каленым железом!
Железом каленым!
Таких клиентописателей.

:)


 
iZEN ©   (2007-05-10 12:36) [122]

BEEP идет на смену HTTP

Сети #01-02/2002
Валерий Коржов


Идя навстречу веяниям времени, группа IETF разработала и утвердила новый протокол BEEP — Blocks Extensible Exchange Protocol (протокол для расширяемого обмена блоками информации). Он создан с целью адекватной замены HTTP и предназначен для передачи данных в формате XML. Его ключевыми особенностями являются поддержка нескольких каналов передачи данных в одном сеансе и возможность одновременной транспортировки нескольких независимых информационных блоков. Каждый блок соответствует стандарту MIME, то есть, как и почтовое сообщение, может содержать несколько типов данных. За протоколом даже «закреплен» определенный MIME-тип данных application/beep+ xml — он используется для передачи служебных сообщений, обеспечивающих настройку сеанса и управление каналами. Блок состоит из заголовка, «тела» и завершающей строки. Как и в HTTP, заголовок от тела отделяется пустой строкой. Блок заканчивается строкой END, за которой может следовать новый блок.

Новый стандарт предусматривает три режима взаимодействия клиента с сервером: «запрос — ответ», «запрос — сообщение об ошибке» и режим уточняющих запросов. Первые два примерно соответствуют возможностям, обеспечиваемым протоколом HTTP, а последний позволяет серверу запрашивать у клиента уточняющую информацию. В этом случае обмен сообщениями выполняется до тех пор, пока клиент и сервер не передадут друг другу нулевое сообщение, после которого сеанс прекращается. Таким образом, протокол предусматривает пять типов сообщений: запрос (MSG), ответ (RPY), сообщение об ошибке (ERR), уточняющий запрос сервера (ANS) и финальное нулевое сообщение (NUL).

Важной особенностью протокола BEEP является управление каналами. С каждым каналом связан определенный профиль, который позволяет взаимодействующим сторонам договариваться о правилах работы с передаваемой информацией. Во время сеанса организуется один служебный (tuning) канал, который может быть дополнен несколькими информационными каналами. Отметим, что BEEP является протоколом уровня приложения, то есть установление самих сеансов связи и правила передачи данных в этом протоколе не описываются. Сейчас существуют только рекомендации по использованию BEEP поверх TCP, однако возможно, что вскоре появятся аналогичные правила его применения поверх другого протокола сеансового уровня — SCTP.

Изначально предполагалось использовать BEEP для передачи сообщений между приложениями в формате SOAP, поэтому группа разработчиков стандарта активно взаимодействовала с W3C. В частности, вся служебная информация протокола передается в формате XML. Так, чтобы настроить служебный канал (номер «0»), клиент и сервер должны обменяться сообщениями, включающими в себя тег greeting, а для создания нового канала — передать друг другу тег start с указанием номера канала (см. листинг). Внутри этих тегов приложения могут содержать дополнительную информацию, определяющую, где искать профили канала или на каком естественном языке нужно выдавать информацию.

Основным применением BEEP является передача коротких сообщений между приложениями в формате SOAP. Поскольку приложений, поддерживающих этот формат, пока не так уж много, своевременное принятие стандарта BEEP позволяет разработчикам сразу перейти на новый протокол, а не следовать рекомендациям W3C, в соответствии с которыми в качестве транспорта предполагается использовать HTTP. Таким образом, BEEP явно имеет большое будущее, поскольку он удовлетворяет современным требованиям создания Web-приложений.


 
Reindeer Moss Eater ©   (2007-05-10 13:06) [123]

Каждый блок соответствует стандарту MIME, то есть, ....

Мда. В 21 веке можно было бы придумать что-нибудь более кардинальное.
Я считаю, что Господь Бог создал байты равными, а диавол разделил их на ascii и прочие.


 
Knight ©   (2007-05-10 13:23) [124]

> [120] Kerk ©   (10.05.07 12:11)

Я с английским не в ладах.... могу понять не правильно и дать по физиономии.. %)))


 
McSimm_ ©   (2007-05-10 17:27) [125]

Пока что вот RSS набросал, попробуйте.

http://dev2.delphimaster.ru/forum/


 
Fenik ©   (2007-05-10 19:35) [126]

soap это слишком... xml-rpc - в самый раз


 
Правильный Вася   (2007-05-10 20:36) [127]


> Пока что вот RSS набросал, попробуйте.

а можно не на новые темы, а на конкретно интересующие?


 
McSimm ©   (2007-05-10 20:45) [128]


> а можно не на новые темы, а на конкретно интересующие?

Не понял. Как это?


 
VirEx ©   (2007-05-10 20:54) [129]


>  [128] McSimm ©   (10.05.07 20:45)

просто - к каждой учетной записи приписываются настройки по умолчанию rss, чел если захочет - редактирует в своем профиле, т.е. указывает те ветки которые хочет видеть в своих рсс ридерах. хотя это будет только ненужной фишкой я так думаю


 
РТР   (2007-05-11 02:36) [130]

v2&a7&d10#
02McSimm_1234567890Старый протокол не устраивает по ряду...

кто меньше? :)))


 
РТР   (2007-05-11 02:38) [131]

ой нее, вот новая версия :)))
v=2&a=7&d=10#
02McSimm_1234567890Старый протокол не устраивает по ряду...


 
РТР   (2007-05-11 03:00) [132]


> BEEP идет на смену HTTP

имхо лажа.


 
ОРТ   (2007-05-11 08:59) [133]

но-но, попрошу без выражений


 
РТР   (2007-05-11 12:49) [134]

ОРТ :))))))))))))))


 
Vendict ©   (2007-05-11 17:06) [135]

интересно, а когда ожидается полный переход сайта на новый движок ?


 
McSimm_ ©   (2007-05-11 17:49) [136]


> когда ожидается полный переход сайта на новый движок ?

давно

:)


 
Vendict ©   (2007-05-11 18:11) [137]

ладно, уточню вопрос. когда новый движок полностью заменит старый и
адреса dev2.delphimaster.ru и delphimaster.ru будут вести в одно место ?


 
McSimm_ ©   (2007-05-11 18:15) [138]

Как только количество последующих за этим проблем будет сведено к минимуму.


 
McSimm_ ©   (2007-05-11 18:16) [139]

Я не могу назвать дату, если вы об этом.


 
easy ©   (2007-05-11 21:00) [140]

они уже и сейчас в одно место ведут.
кому не терпится - вот ссылка =)
http://www.dev2.delphimaster.ru/


 
antonn ©   (2007-05-12 00:16) [141]


> Я не могу назвать дату, если вы об этом.

ну хоть в этом году? :)


 
Vendict ©   (2007-05-12 22:17) [142]

easy ©   (11.05.07 21:00) [140]
дело в том, что форумы то разные .. а хотелось бы с одного и того же клиента всё читать .. (MF  у меня )


 
Ketmar ©   (2007-05-14 20:42) [143]

Максим, сорри за задержку с обещаным драфтом нового протокола. неожиданно случилась поездка в Симферополь, только вернулся. протрезвею немного и что-то наваяю. %-)

зыж а если все согласились на XML, то ничего не наваяю. XML должен разделить судьбу Карфагена. в принципе-то у меня есть expat, но...
%-)


 
McSimm ©   (2007-05-14 22:51) [144]

Давай ты предложишь свои идеи относительно протокола безотностиельно формата.
А формат дело второстепенное. К тому же никто не мешает хоть десять генерировать, на сложность не влияет.



Страницы: 1 2 3 4 вся ветка

Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.85 MB
Время: 0.052 c
15-1179318595
ProgRAMmer Dimonych
2007-05-16 16:29
2007.06.10
Вопросы по MySQL и PHPMyAdmin


2-1179401409
Heart_Beat
2007-05-17 15:30
2007.06.10
Лови пользователя


15-1179482976
Ega23
2007-05-18 14:09
2007.06.10
фармацефты - отзовитесь!


15-1179152262
denis24
2007-05-14 18:17
2007.06.10
сохранение настроек IDE


2-1179425992
Alexdeil
2007-05-17 22:19
2007.06.10
График





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский