JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Разработка и проектирование [Devel] » Jweather Goto page Previous  1, 2
Post new topic  Reply to topic View previous topic :: View next topic 
PostPosted: Tue Mar 27, 2007 10:14 am Reply with quote
nordeep
Разработчик
Разработчик
Joined: 23 Mar 2007
Posts: 11




К знатокам Perl'а в части XMPP созрел вопрос.
подскажите на сколько верно вот тут
http://search.cpan.org/src/REATMON/Net-XMPP-1.0/lib/Net/XMPP/Namespaces.pm
а именно в части:
Code:

#-----------------------------------------------------------------------------
# jabber:iq:register
#-----------------------------------------------------------------------------
{
    &add_ns(ns    => "jabber:iq:register",
            tag   => "query",
            xpath => {
                      Address      => { path => 'address/text()' },
                      City         => { path => 'city/text()' },
                      Date         => { path => 'date/text()' },
                      Email        => { path => 'email/text()' },
                      First        => { path => 'first/text()' },
                      Instructions => { path => 'instructions/text()' },
                      Key          => { path => 'key/text()' },
                      Last         => { path => 'last/text()' },
                      Misc         => { path => 'misc/text()' },
                      Name         => { path => 'name/text()' },
                      Nick         => { path => 'nick/text()' },
                      Password     => { path => 'password/text()' },
                      Phone        => { path => 'phone/text()' },
                      Registered   => {
                                       type => 'flag',
                                       path => 'registered',
                                      },
                      Remove       => {
                                       type => 'flag',
                                       path => 'password/text()', - ??????????????????
                                      },
                      State        => { path => 'state/text()' },
                      Text         => { path => 'text/text()' },
                      URL          => { path => 'url/text()' },
                      Username     => { path => 'username/text()' },
                      Zip          => { path => 'zip/text()' },
                      Register     => { type => 'master' },
                     },
            docs  => {
                      module => 'Net::XMPP',
                     },
           );
}

загадочная часть помечена ?????????
По моему там должно быть
Code:

Remove       => {
                                       type => 'flag',
                                       path => 'remove',
                                      },

И собственно говоря только в таком варианте и работает...
На осознание сего факта ушел день.
View user's profile Send private message
PostPosted: Tue Mar 27, 2007 10:21 am Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




ну по логике ты прав. ошибка там видимо.

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Mar 27, 2007 10:35 am Reply with quote
nordeep
Разработчик
Разработчик
Joined: 23 Mar 2007
Posts: 11




Пошел посмотреть как у людей сделано - http://zerlargal.org/c/xmppgateway/xmppgateway.pl
Так там такая конструкция для анализа xml пакета...
Гораздо сложнее, чем в предлагаемом Net::XMPP
Code:
$iq->GetQuery()->DefinedRemove();
View user's profile Send private message
PostPosted: Tue Apr 03, 2007 10:13 am Reply with quote
nordeep
Разработчик
Разработчик
Joined: 23 Mar 2007
Posts: 11




Очередной вопрос знатокам, что я делаю не так. 2 примера:
Аккаунт на сервере jabber.ru клиент JAJC регистрирую mrim транспорт:
Code:

SEND: <iq type="get" to="mrim.jabber.ru" id="j25"><query xmlns="jabber:iq:register"/></iq>

RECV: <iq from='mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='j25' type='result'><query xmlns='jabber:iq:register'><instructions>Введите e-mail и пароль.</instructions><email/><password/></query></iq>

SEND: 

SEND: <iq type="set" id="j26" to="mrim.jabber.ru"><query xmlns="jabber:iq:register"><email>qnix@mail.ru</email><password>*****</password></query></iq>

RECV: <iq from='mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='j26' type='result'/>

RECV: <iq from='nordeep@jabber.ru/JAJC' to='nordeep@jabber.ru/JAJC' id='push' type='set'><query xmlns='jabber:iq:roster'><item subscription='none' jid='mrim.jabber.ru'/></query></iq>

RECV: <presence from='mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' type='subscribe' id='3104544'/>

SEND: <presence to="mrim.jabber.ru" type="subscribed"/>

RECV: <presence from='mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='3104545'/>

RECV: <iq from='nordeep@jabber.ru/JAJC' to='nordeep@jabber.ru/JAJC' id='push' type='set'><query xmlns='jabber:iq:roster'><item subscription='from' jid='mrim.jabber.ru'/></query></iq>

RECV: <presence from='mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='3104547'/>

RECV: <presence from='support%corp.mail.ru@mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='3104550'/>

RECV: <presence from='qnix%mail.ru@mrim.jabber.ru' to='nordeep@jabber.ru/JAJC' id='3104552'/>

RECV: <message from='mrim.jabber.ru' to='nordeep@jabber.ru' type='headline' id='3104554'><subject>У вас есть непрочитанные письма</subject><body>Непрочитанных писем: 112
      Всего писем: 545</body><x xmlns='jabber:x:oob'><url>http://win.mail.ru/cgi-bin/auth?Login=qnix@mail.ru&amp;agent=1175584036B1809800889</url><desc>Просмотреть</desc></x></message>

Все проходит удачно
Тот же самый аккаунт, клиент JAJC, регистрирую свой транспорт weather.13.net.ru - jweather:
Code:

SEND: <iq type="get" to="weather.13.net.ru" id="j29"><query xmlns="jabber:iq:register"/></iq>

RECV: <iq from='weather.13.net.ru' to='nordeep@jabber.ru/JAJC' id='j29' type='result'><query xmlns='jabber:iq:register'><instructions>Just click &apos;Register&apos; and then add cityes to your roster from the add contact menu.</instructions><username/><password/></query></iq>

SEND: <iq type="set" id="j30" to="weather.13.net.ru"><query xmlns="jabber:iq:register"><username/><password/></query></iq>

RECV: <iq from='weather.13.net.ru' to='nordeep@jabber.ru/JAJC' id='j30' type='result'/>

RECV: <presence from='weather.13.net.ru' to='nordeep@jabber.ru/JAJC' type='subscribe'/>

SEND: <presence to="weather.13.net.ru" type="subscribed"/>

RECV: <presence from='weather.13.net.ru' to='nordeep@jabber.ru/JAJC'/>

Регистрация не проходит.
С клиентом PSI все нормально.
View user's profile Send private message
PostPosted: Tue Apr 03, 2007 11:03 am Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




не надо посылать subscribe презенс на full jid

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Apr 03, 2007 11:09 am Reply with quote
nordeep
Разработчик
Разработчик
Joined: 23 Mar 2007
Posts: 11




Спасибо.
View user's profile Send private message
PostPosted: Wed Apr 04, 2007 3:37 pm Reply with quote
nordeep
Разработчик
Разработчик
Joined: 23 Mar 2007
Posts: 11




В процессе ковыряния над jweather, который на weather.13.net.ru крутится. Я как не искушенный программист узнал для себя, что:
Quote:

NOTE: The parser that XML::Stream::Parser provides, as are most Perl
parsers, is synchronous. If you are in the middle of parsing a packet
and call a user defined callback, the Parser is blocked until your
callback finishes. This means you cannot be operating on a packet,
send out another packet and wait for a response to that packet. It
will never get to you. Threading might solve this, but as of the
writing of this, threading in Perl is not quite up to par yet. This
issue will be revisted in the future.

Что собственно и подтверждается эксперементально.
Кто нибудь сталкивался с этим ? И может кто тыкнет носом где про perl threads почитать.
А то в данный момент получается, что на любой presence или message пока не будет дан ответ ничего дальше не двигается...
А при использовании Weather::Com таймаут для забора данных составляет по умолчанию 3 минуты.
View user's profile Send private message
PostPosted: Sun Jun 17, 2007 10:19 am Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




а чего случилось с сабжем на 13.net.ru? я уже так привык к оному.. Sad

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Oct 16, 2007 1:50 am Reply with quote
m@jabbus.org
xmpp-администратор
Joined: 21 Nov 2006
Posts: 69
Location: Москва




Binary wrote:
а чего случилось с сабжем на 13.net.ru? я уже так привык к оному.. Sad

Попробуй ya.ru через j2j - там тоже удачный транспорт Smile

_________________
View user's profile Send private message Send Jabber-message Visit poster's website AIM Address MSN Messenger ICQ Number
PostPosted: Tue Oct 16, 2007 9:11 am Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




m@jabbus.org wrote:
Binary wrote:
а чего случилось с сабжем на 13.net.ru? я уже так привык к оному.. Sad

Попробуй ya.ru через j2j - там тоже удачный транспорт Smile

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

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Oct 16, 2007 2:31 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Binary wrote:
m@jabbus.org wrote:
Binary wrote:
а чего случилось с сабжем на 13.net.ru? я уже так привык к оному.. :(

Попробуй ya.ru через j2j - там тоже удачный транспорт :)

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

на яндехе тоже надо жид в каком-то формате вводить?
в vCard транспорта ничего не написали
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Oct 16, 2007 2:33 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




там смотришь на одноименном сайте код города и: [code]@weather.ya.ru

зы. пишу с ткаббера на заврике)
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
Jweather
JRuDevels Forum Index » Разработка и проектирование [Devel]
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 2 of 2  
Goto page Previous  1, 2
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin