Not logged in. · Lost password · Register
Forum: agsXMPP RSS
Avatar
Shukuyen #1
Member since May 2009 · 2 posts
Group memberships: Members
Show profile · Link to this post
Subject: Serverless Messaging
Hi,

I am trying to write a basic client (appear in contact list, receive messages). The goal is to have this as a plugin for a mediacenter software, so that family members can send messages from their computers to the TV.

I would like to achieve this via serverless messaging as it is used by iChat with Bonjour.
I found this document http://xmpp.org/extensions/xep-0174.html, now the question is: Does agsXMPP support serverless messaging?

Thanks and bye,
Shukuyen.
Avatar
Alex #2
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
serverless messaging is not supported in agsXMPP. You have to implement it yourself or we can do this based on our professional services when you need it.
We had no feature request yet for serverless messaging from our users and customers, so its not on our roadmap yet.

Alex
This post was edited on 2009-05-08, 14:33 by Alex.
Avatar
Shukuyen #3
Member since May 2009 · 2 posts
Group memberships: Members
Show profile · Link to this post
Thanks for the answer.
Avatar
xxyoungmasterxx #4
Member since May 2009 · 6 posts · Location: cebu city phil
Group memberships: Members
Show profile · Link to this post
Subject: is there a chance
hi


is there a chance that this feature can be added in agsxmpp in the near future??



regardz
 
xxyoungmasterxx
Avatar
Alex #5
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
its not on our TODO list yet.
Avatar
segfault #6
Member since Jul 2010 · 5 posts
Group memberships: Members
Show profile · Link to this post
Hi

Does Matrix or AGSXmpp support this now?  If not, suppose I was a potential customer and requested XEP-0174 support.  What would the timeframe be for implementation?  If I had to implement this functionality myself, could I handle the initial xml stream myself (connection), and then hand this off to Matrix/AGSXmpp and allow it to process message stanzas?
This post was edited on 2010-07-28, 17:20 by segfault.
Avatar
Alex #7
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
no its not supported by MatriX or agsXMPP.
To implement it you only need a client socket on one side, a listening socket on the other side. Then push all incoming socket data to the XmppStreamParser in MatriX or StreamParser in agsXMPP. The StreamParser raises events for the xmpp stanzas message, presence and iq. Its very similar to the server example.

If you need this feature for a commercial project feel free to contact me directly by email.

Alex
Avatar
segfault #8
Member since Jul 2010 · 5 posts
Group memberships: Members
Show profile · Link to this post
Thank you for the quick response :D
Avatar
segfault #9
Member since Jul 2010 · 5 posts
Group memberships: Members
Show profile · Link to this post
In reply to post #7
Hi,

So essentially I create an instance of the XmppStreamParser :

  1. xsp = new Matrix.Xml.XmppStreamParser();
  2. xsp.OnError += new EventHandler<ExceptionEventArgs>(xsp_OnError);
  3. xsp.OnStreamElement += new EventHandler<StanzaEventArgs>(xsp_OnStreamElement);
  4. xsp.OnStreamStart += new EventHandler<StanzaEventArgs>(xsp_OnStreamStart);
  5. xsp.OnStreamEnd += new EventHandler<Matrix.EventArgs>(xsp_OnStreamEnd);
  6. xsp.OnStreamError += new EventHandler<ExceptionEventArgs>(xsp_OnStreamError);

After I connect two machines based on mDNS informations, I call this function when I receive data from a connected machine :
xsp.Write(bytes, 0, i);

This will fire OnStreamElement events.

Am I missing something?  I see no way to wire the XmppStreamParser to XmppClient :
xmpp = new Matrix.Xmpp.Client.XmppClient();

Ideally i would like the finer granularity of events being fired (OnIQ, OnPresence, OnMessage, etc...) vs (OnStreamElement)

Am I missing something?
Avatar
Alex #10
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
in OnStreamElement you have to check the type of the XmppXElement. Then based on the type raise events OnIq, OnMessage and OnPresence.
Its not possible to create and XmppClient from the StreamParser. It also makes no sense because serverless messaging is different from server based messaging.

The XmppClient has a StreamParser underneath as well.

Alex
Avatar
segfault #11
Member since Jul 2010 · 5 posts
Group memberships: Members
Show profile · Link to this post
Thanks Alex,

I realize I can't create XmppClient from StreamParser, I was just hoping I could update the XmppClient's StreamParser reference :)

I will try raising events and see how that works.
Avatar
Alex #12
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
no, the XmppClient is a class especially for "normal" XmppClientConnection. It does a lot of stuff and has about 3000 lines of code. You have to create a similar class with a small subset of the XmppClient.

Alex
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Forum: agsXMPP RSS