-
Anatoly Podgoretsky © (12.11.09 13:09) [40]> Наиль (12.11.2009 11:57:39) [39]
Уговорили, сделаю перевод как минимум 977 документа. -
> 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
Три страницы за час перевел. -
> 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: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 );
}
не работает -
А это я торможу, вот так надо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 я его просто не знаю -
> 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 на перевод подобных текстов.
В общем - очень долго. -
> Наиль © (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.
В остальном, вроде согласен. -
-------------------------------------------------------------------------------
Поправка 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 из протокола.
Всё. -
> Наиль © (15.11.09 16:29) [57]
> А что означает приставка p в слове pcount?
page. Короче число веток на одну страницу. -
Наиль © (15.11.09 19:28) [59]pagecount - количество страниц
Но если тебе нравится, то можно оставить pcount, потом для p можно придумать другую расшифровку.