Конференция "Журнал" » DelphiMaster через NNTP
 
  • xayam © (08.11.09 12:41) [40]

    > Anatoly Podgoretsky ©   (08.11.09 11:20) [39]
    > Сообственно я уже отвечал, требуется порт, стандартный 119
    > и правильно написаный сервер, а работать все будет, если
    > сервер выделеный или хотя бы виртуальный, со своим ИП, то
    > проблем не вижу.

    у меня как раз такой, на хостинге сказали, что скрипт phpinn у них должен работать, я потом его доправлю и конечно проверю
  • Anatoly Podgoretsky © (08.11.09 14:10) [41]
    > xayam  (08.11.2009 12:41:40)  [40]

    Ну раз порт есть, то остальное дело техники, сам по себе сервер NNTP это простая вещь и может быть, что на FreeBSD это будет особо просто.
  • Anatoly Podgoretsky © (08.11.09 14:12) [42]
    > Anatoly Podgoretsky  (08.11.2009 14:10:41)  [41]

    Создавать можно по частям, сначала запустить команду QUIT, потом команду HELP и можно сказать, что сервер работает. Для проверки достаточно Телнета.
    Синронизация базы с delphimaster это отдельная задача, по сути не связаная с сервером NNTP
  • xayam © (08.11.09 14:44) [43]

    > Anatoly Podgoretsky ©   (08.11.09 14:12) [42]
    > Синронизация базы с delphimaster это отдельная задача, по
    > сути не связаная с сервером NNTP

    а синхронизацию лучше через архивы делать? Или напрямую через client.pl обновляться часто?
  • Anatoly Podgoretsky © (08.11.09 17:04) [44]
    > xayam  (08.11.2009 14:44:43)  [43]

    Синхронизацию надо делать независимо от клиентов, ее можно запускать по рассписанию или по каждому запросу к серверу. У меня оба способа, по рассписанию идет опрос всех форумов, и по любому запросу клиента запускается запрос только одного сервера. Главное, что никакой увязки, кроме запуска. Синхронизация и запросы независимы друг от друга и могут идти паралельно. Запрос по рассписанию неудобен для актуальности данных, он служит лишь для того, что бы подкачать данные, если долго не было запросов. В тоже время при множестве клиентов, можно обесчить сериализацию, не запускать новый запрос, если уже действует старый запрос или прошло мало времени. Тогда запросы делать через центральное звено. Не знаю насколько это удобно через Apache+PHP, ведь http сессии независимы друг от друга.
  • xayam © (10.11.09 01:19) [45]

    > Anatoly Podgoretsky ©   (05.11.09 14:26) [35]
    > 2. NNTP server
    > 3. POP3/SMTP server

    а есть какой клиент для всех этих серверов, который, во-первых, показывает ветки в иерархическом виде и при щелчке на заголовке ветке, отображает все входящие в него ответы (можно постранично). И, во-вторых, чтобы можно было на этом клиенте просматривать весь трафик между клиентом и сервером в удобном (текстовом) виде ?
  • Inovet © (10.11.09 06:08) [46]
    > [45] xayam ©   (10.11.09 01:19)
    > а есть какой клиент для всех этих серверов, который, во-
    > первых, показывает ветки в иерархическом виде и при щелчке
    > на заголовке ветке, отображает все входящие в него ответы

    Это, видимо, все NNTP клиенты должны уметь.
  • Anatoly Podgoretsky © (10.11.09 10:19) [47]
    > xayam  (10.11.2009 01:19:45)  [45]

    Как минимум два, Outlook и Outlook Express - изначально, даже и без наличия информации о иерархии, могут группировать по заголовку.
  • Anatoly Podgoretsky © (10.11.09 10:25) [48]
    > Inovet  (10.11.2009 06:08:46)  [46]

    Не только NNTP клиенты, но и почтовые клиенты как минимум, упомянутые мною
  • Inovet © (10.11.09 10:35) [49]
    > [48] Anatoly Podgoretsky ©   (10.11.09 10:25)
    > > Inovet  (10.11.2009 06:08:46)  [46]
    >
    > Не только NNTP клиенты, но и почтовые клиенты как минимум,
    > упомянутые мною

    Действительно могут, никогда не пробовал почему-то.
  • Anatoly Podgoretsky © (15.11.09 16:20) [50]
    CREATE TABLE [dbo].[Forums] (
    [ID] Первичный ключ, иникальный ИД
    [ForumName] Название форума
    [ForumAlias] Псевдоним названия форума
    [Description] Описание форума
    [TableName] Название таблицы форума, спуллер группы
    [Created] Дата создания форума
    [LastUpdate] Дата последнего обновленич
    [RCount] Счетчик принятых статей
    [Received] Количество принятых байт
    [SCount] Счетчик отосланных статей
    [Sent] Количество отосланых байт
    [ResetTraffic] Дата сброса статистики
    [AutoSync] Признак включения в автосинхронизации
    [LastUpdate] - [AutoSync] по протоколу не требуется, используются для статистики и удобства, Для работы не требуются

    XForumX
    [ID] уникальный в пределах форума ИД
    [MsgID] Message-id
    [ReplyNr] Номер отвера, вопрос имеет ReplyNr равный нулю (по протоколу DM)
    [Author] Автор статьи
    [Title] Тема
    [EMail] email пользователя, если указан
    [Attributes] аттрибуты в соответствии с ДМ
    [Card] ИД пользователя по базе ДМ
    [ReplyDate] Дата ответа
    [Header] Заголовок ответа
    [Body] Содержимое ответа, в формате ДМ)
    Лишних нет

    Ограничения указаны в типах, все текстовые данные в формате Юникод (nvarchar)
  • xayam © (15.11.09 16:38) [51]
    Чем отличаются столбцы ID и MsgID?

    XForumX
    [ID] уникальный в пределах форума ИД
    [MsgID] Message-id

  • Anatoly Podgoretsky © (15.11.09 18:10) [52]
    > xayam  (15.11.2009 16:38:51)  [51]

    ID cоздается сервером и является уникальным, автоинкриментным значением в пределах только данной группы на данном сервере, а message-id создается на клиенте и является уникальным значением на всех серверах и группах, где опубликовано сообщение, например у данного сообщение message-id = <1257329923.51@delphimaster.ru>
  • xayam © (15.11.09 19:22) [53]

    > Anatoly Podgoretsky ©   (15.11.09 18:10) [52]
    > ID cоздается сервером и является уникальным, автоинкриментным
    > значением в пределах только данной группы на данном сервере,
    >  а message-id создается на клиенте и является уникальным
    > значением на всех серверах и группах, где опубликовано сообщение,
    >  например у данного сообщение message-id = <1257329923.51@delphimaster.
    > ru>

    так MsgID вроде числовое. Или это значит, что в MsgID=1257329923 ReplyNr=51, а по протоколу для команд используется комбинация <1257329923.51@delphimaster.ru>  ?
  • Anatoly Podgoretsky © (15.11.09 22:29) [54]
    > xayam  (15.11.2009 19:22:53)  [53]

    Ты не обращай внимание не базу данных, она же шлюз к ДМ, на самом деле MsgID это не message-id, оно только служит для цели выработки message-id, которое может содержать любое произвольное значение, обычно в приведенном формате, случайно сгенерированое число и имя хоста, но не обязательно, лишь бы была обеспечена глобальная уникальность. У меня оно генерируется из MsgID + номер ответа + @delphimaster.ru и сгенерированый message-id хранится в поле header.
    А MsgId на самом деле MsgId это ИД вопроса из базы DM - время в формате Юникс, с некоторой доработкой по генерации ИД, поскольку ДМ не имеет уникального для ответов.
    В запросах к серверу message-id не используется, только ИД, поэтому я не стал его хранить в явном виде.

    Когда я кончу переводить rfc это (взаимодействие id и message-id) станет понятнее.
  • xayam © (16.11.09 00:08) [55]

    > Anatoly Podgoretsky ©   (15.11.09 16:20) [50]
    > XForumX
    > [Attributes] аттрибуты в соответствии с ДМ

    еще вопрос, что это за атрибуты на делфимастере и что они означают, как хранятся в этой таблице? Я так понимаю, это какие-то флаги, указывающие, что сообщение удалено, ветка перенесена и еще что-то, как в протоколе обмена с client.pl?getconf2=id&n=xx  (пункт 8 - Расширеный запрос об ответах).
  • Anatoly Podgoretsky © (16.11.09 00:15) [56]
    > xayam  (16.11.2009 00:08:55)  [55]

    Аттрибуты это флаги команды по ОС и версии Дельфи.
    Хранят в текстовом виде, например, D6, D7, Win2k, WinXP

    getconf2 ничего не хранится, а сразу исполняется, в соотвествии с информацией
  • Anatoly Podgoretsky © (17.11.09 19:52) [57]
 
Конференция "Журнал" » DelphiMaster через NNTP
Есть новые Нет новых   [119336   +44][b:0][p:0.001]