[jdev] Re: client multiplexing

Christopher Zorn zorncj at musc.edu
Mon Mar 29 12:46:12 CST 2004

On Mon, Mar 29, 2004 at 08:16:43PM +0200, ze wrote:
> Christopher Zorn wrote:
> > There is something similar to your description called punjab[1].
> > Which uses POE[2] and pcj[3]. I know it is not "real", but check it
> > out anyway.
> Didn't find much information about it, but it seems like it's a program
> running on the web server that keep the connection for the user. If
> that's it, it require the web server to be able to go out through the
> jabber port. From what i read, that's what most jabber webapps wants to
> avoid, using a special protocol.

Ok. Sorry for the lack of information. 

Punjab is an XMLRPC/SOAP jabber client. But this is how it works.

A POE http server is started and then xmlrpc methods are loaded in. 

One of these methods is a connect method. When that connect method
is called a jabber client connection is made with a PCJ session. You will
need to look at POE[2] and PCJ[3] futhur. 

Punjab[1] is just similar to what you described.

To answer your email from before :

" ------------------------------------------
" My need:

" I want to have a client connected 24/7 (or almost), getting all
" messages, being usable, most likely in a screen, so i can get to it
" anytime.

A punjab client connection can be 24/7 and it will collect all messages or 
anything sent to that client. Just like a regular client. 
Do you mean something server side like a component? Is that what you want
instead of a client?

" Then, i might want to use a different client, like a client with an
" graphical interface, and take back everything where i were. History, 
" same chat in progress, and i want it to be a completly invisible change
" for people i talk with. To be completly transparent, I would also need
" to get "recent" both way activity back in my new launched client, to let
" it open the recent windows, with complete history about what we spoke
" off.

Punjab holds the jabber connection and a graphical XMLRPC or whatever client you
would like can interact with the connection the way it wants at anytime and 
with the transparency you described. 
For other interfaces to punjab you just plug in a POE session similar
to the XMLRPC and SOAP servers allready there. 

> For webserver allowing such connection, your project is surely a very
> good idea. What i seek is rather more server support (like for
> keep-alive after disconnect feature).

What kind of server support? Jabber server support?

Punjab's sole purpose in life is for a keep-alive after disconnect feature. 
It just so happens you can write web-based jabber clients with it. 

Look at the cvs code :) There will be more docs soon. 


[1] http://punjab.jabberstudio.org
[2] http://poe.perl.org
[3] http://www.jabberstudio.org/projects/pcj/project/view.php

More information about the JDev mailing list