Конференция "Журнал" » Обсуждение расширения протокола для Поиска по архивам и не только
 
  • Anatoly Podgoretsky © (12.11.09 13:09) [40]
    > Наиль  (12.11.2009 11:57:39)  [39]

    Уговорили, сделаю перевод как минимум 977 документа.
  • xayam © (12.11.09 13:43) [41]

    > Anatoly Podgoretsky ©   (12.11.09 13:09) [40]
    > Уговорили, сделаю перевод как минимум 977 документа.

    отлично, о цене договоримся, стучите в аську
  • Anatoly Podgoretsky © (12.11.09 14:33) [42]
    > xayam  (12.11.2009 13:43:41)  [41]

    Какие еще деньги, когда это для развлечения.
  • Anatoly Podgoretsky © (12.11.09 14:35) [43]
    > Anatoly Podgoretsky  (12.11.2009 14:33:42)  [42]

    Вот необольшая аннотация.

    От переводчика: это вольный перевод RFC-977, сделан на основе доброй воли и как умею, не лучше. Статус: любительский, свободно распространяемый. Никакие претензии по качеству перевода не принимаются, но я старался. J

    Переводчик – Анатолий Подгорецкий, © 2009

    Три страницы за час перевел.
  • xayam © (12.11.09 15:17) [44]

    > Anatoly Podgoretsky ©   (12.11.09 14:33) [42]
    > Какие еще деньги, когда это для развлечения.

    это по желанию, мое дело предложить. Но хотелось бы чтобы было понятно о чем речь. Особенно в части команд, запросов и ответов. Очень хорошо, что у Вас уже есть опыт программирования nntp :)

    > Anatoly Podgoretsky ©   (12.11.09 00:32) [38]
    > Стандартный CRLF

    че то не работает перенос строки \r\n , хотя мне кажется это не telnet'а проблема, а patServer'а, такое чувство, что он вырезает где-то эти символы перед отправкой, но не могу найти место где.
  • xayam © (12.11.09 15:57) [45]

    > xayam ©   (12.11.09 15:17) [44]
    > че то не работает перенос строки \r\n , хотя мне кажется
    > это не telnet'а проблема, а patServer'а, такое чувство,
    > что он вырезает где-то эти символы перед отправкой, но не
    > могу найти место где.

    это глюк какой-то php, пишу так

    function onConnect($clientID) {
     
     $this->sendData ( $clientID, "200 You connect to NNTP Server.\r\n", true );

    }


    работает
    пишу так

    var $readEndCharacter  = "\r\n";

    function onConnect($clientID) {
     
     $this->sendData ( $clientID, "200 You connect to NNTP Server." . $readEndCharacter, true );

    }


    не работает
  • xayam © (12.11.09 15:59) [46]
    А это я торможу, вот так надо
    var $readEndCharacter  = "\r\n";

    function onConnect($clientID) {

    $this->sendData ( $clientID, "200 You connect to NNTP Server." . $this->readEndCharacter, true );

    }

  • Anatoly Podgoretsky © (12.11.09 18:30) [47]
    > xayam  (12.11.2009 15:17:44)  [44]

    Мне тоже помогают в форумах бесплатно.
  • Anatoly Podgoretsky © (12.11.09 18:31) [48]
    > xayam  (12.11.2009 15:59:46)  [46]

    Я не могу помочь с PHP я его просто не знаю
  • xayam © (12.11.09 18:39) [49]

    > Anatoly Podgoretsky ©   (12.11.09 18:31) [48]
    > Я не могу помочь с PHP я его просто не знаю

    очень удобная штука этот patServer - считай это просто класс-заготовка для любого текстового протокола, в комплекте идут примеры реализации http, чата и т.д. И все работает в многопользовательском режиме в отличии от phpinn, который вообще какой-то недоделанный, только база есть.
  • Anatoly Podgoretsky © (13.11.09 15:16) [50]
    > Anatoly Podgoretsky  (12.11.2009 14:35:43)  [43]

    Перевод готов, вечером опубликую на сервере. Качеством доволен.
  • Anatoly Podgoretsky © (13.11.09 19:07) [51]
  • Anatoly Podgoretsky © (13.11.09 19:16) [52]
    > xayam  (11.11.2009 21:49:35)  [35]

    Перекрывает ли rfc-3997 следующий rfc-2980?
  • Наиль © (14.11.09 14:05) [53]
    > [40] Anatoly Podgoretsky ©   (12.11.09 13:09)
    > > Наиль  (12.11.2009 11:57:39)  [39]
    >
    > Уговорили, сделаю перевод как минимум 977 документа.

    Рад, что помог уговорить сделать доброе дело, но смущен.
    Ведь я не вас уговаривал, а показывал xayam'у сайт на котором и уговаривать не нужно.
    Правда, потом я посмотрел сколько времени тратит notabenoid на перевод подобных текстов.
    В общем - очень долго.
  • xayam © (14.11.09 21:56) [54]

    > Наиль ©   (14.11.09 14:05) [53]

    ну как утверждаешь протокол в [33] или еще будут поправки?
  • Наиль © (15.11.09 10:19) [55]
    > [54] xayam ©   (14.11.09 21:56)
    > > Наиль ©   (14.11.09 14:05) [53]
    > ну как утверждаешь протокол в [33] или еще будут поправки?

    Прочитал http://ru.wikipedia.org/wiki/Useragent
    Ещё раз скажу, что UserAgent нужен только для статистики и обязательным не является.
    Если в запросе указано date_begin=2009-01&date_end=2009-02, то показаны должны быть все сообщения и за январь, и за февраль. Думаю, это очевидно, но в описании протокола это д.б. упомянуто.
    Все параметры, кроме параметра S, необязательны (DMClient все равно будет передавать все).
    pnumber должен называться count, или хотя бы pcount.
    В остальном, вроде согласен.
  • xayam © (15.11.09 14:12) [56]
    -------------------------------------------------------------------------------
    Поправка 5

    ЗАПРОС

    s=%s%&forum=%d%&user=%s%&order=%s%&dir=%s%&title=%s%&message=%s%&date_begin=xxxx-xx-xx&date_end=xxxx-xx-xx&from=%d%&pcount=%d%&UserAgent=%s.s%



    s - строка запроса
    forum - номер форума (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
    user - автор ветки, которую нужно найти
    order - сортировка по умолчанию, вопросу, кол-ву ответов в ветке, нику, форуму или дате
    dir - направление сортировки: по убыванию или по возрастанию (asc или desc)
    title - флаг (on - включено, другое значение - выключено), означающий поиск по заголовкам веток.
    message - флаг (on - включено, другое значение - выключено), означающий поиск по сообщениям в ветке.
    date_begin - дата, с которой следует искать ветки, формат ГГГГ[-ММ[-ДД]], квадратные скобки означают, что вложенное в них - не обязательно указывать;
    date_end - дата, по которой следует искать ветки, формат ГГГГ[-ММ[-ДД]], квадратные скобки означают, что вложенное в них - не обязательно указывать;
    from - номер выборки, с которой следует давать ветки.
    pcount - сколько веток следует пересылать клиенту.
    %s% - строка.
    %d% - число.
    UserAgent - клиент определяет в этом поле название и версию клиента в формате НАЗВАНИЕ.ВЕРСИЯ
    Обязательно нужно указать параметр s, forum или user, остальные параметры не обязательно, но рекомендуется указывать параметры pcount и from, для того чтобы вывод не оказался слишком большим. Параметр UserAgent также рекомендуется к использованию для статистики.

    ОТВЕТ

    ERROR=сообщения об ошибке по-русски | All=xx\tAllcount=xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx
    ...
    TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=xxxx-xx-xx



    All - общее количество найденных веток
    Allcount - количество отправленных (ниже) из общего кол-ва найденный веток
    TITLE - тема найденной ветки
    CNT - количество ответов в ветке
    NAME - автор ветки
    N - номер конференции (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
    ID - ID найденной ветки (для этой ветки id=1257691869)
    DATE - дата ветки в формате ГГГГ-ММ-ДД
    \t - символ табуляции.

    Рекомендуется к использованию 5-й пункт протокола:

    Есть опасения, что с введением данного клиента резко упадет посещаемость самого сайта,
    а значит и наша позиция в рейтингах, что только отрицательно отразится на популярности.
    Поэтому прошу в клиенте при запросе новых вопросов в конференции вызывать и счетчик,
    лишние 200 байт погоды не сделают, а польза будет большая.
    URL счетчика можно узнать так:
    http://www.delphimaster.net/cgi-bin/client.pl?counter=1
    меняться он будет редко, так что перепрочитывать его стоит не чаще чем раз в неделю.

    пример ответа:
    Allcount=1
    url=http://top.list.ru/counter?id=xxxxx;js=13;r=;j=true;s=800*600;d=16;rand=%rand%  referrer=http://www.delphimaster.net

    Здесь вместо %rand% стоит подставить случайное число < 1, например:
    0.18421077203239022
    И просто запросить этот URL, только обязательно !!! укажите referrer.
    Ответ нигде показывать не надо.


    -------------------------------------------------------------------------------

    Так нормально?
  • Наиль © (15.11.09 16:29) [57]
    pcount по умолчание = 500, если не указан.
    А что означает приставка p в слове pcount?
    В отношениие UserAgent пользуемся правилом 7 из протокола.
    Всё.
  • xayam © (15.11.09 18:14) [58]

    > Наиль ©   (15.11.09 16:29) [57]
    > А что означает приставка p в слове pcount?

    page. Короче число веток на одну страницу.
  • Наиль © (15.11.09 19:28) [59]
    pagecount - количество страниц
    Но если тебе нравится, то можно оставить pcount, потом для p можно придумать другую расшифровку.
 
Конференция "Журнал" » Обсуждение расширения протокола для Поиска по архивам и не только
Есть новые Нет новых   [118640   +44][b:0][p:0.002]