[jdev] client multiplexing

Christopher Zorn zorncj at musc.edu
Mon Mar 29 09:53:19 CST 2004

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. 

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

On Sun, Mar 28, 2004 at 11:36:16PM +0200, ze wrote:
> Hi, 
> I would like to do something with jabber that doesn't seem to be doable
> for now. I'm not sure how many people would see interest in the same
> requierement, as i am used to special and weird ideas. 
> Please, let me know what you think about my way of planning thing, and
> how much current protocol might or might not evolve to help support my
> needs.
> I'll most likely work on the development needed to do it, but i already
> know there will be monthes before i'll get anything usefull and running.
> ------------------------------------------
> 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.
> 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.
> ------------------------------------------
> First idea:
> Get a daemon to run in background, keeping the connection, and the
> status.  When a client connect (and auth, if I use a network socket),
> send back "recent" stanzas, but i would need an "already seen"
> information.
> The daemon would also have to keep track of all outgoing information, to
> give back a full conversation state.
> ------------------------------------------
> Second idea:
> Let the daemon keep track of more than one user at the same time, it is
> not that much more work anyway.
> It would need to authenticate user, so make it a server, with a special
> component doing the job. It will allow a single client, getting to the
> server to manage more than one jabber account.
> ------------------------------------------
> Realistic way of doing it:
> * get the server to log all messages for a while, and let him give you
>   them back on demand. ("last 15 minutes communications" and/or "last
>   communications from/to jid")
> * get a jabber2jabber transport/component, letting a single client
>   connection to manage more than one jabber account (usefull to have a
>   "work" account, used in-company, and a "personal" account, for
>   personal use on a public server).
> ------------------------------------------
> Realistic requierement:
> * a way to tell a server to keep the "online" presence, even after a
>   disconnect, and not send a new presence information on reconnect
>   within the periode (don't flood everyone with presences)
>   Note1: it would also be nice for web applications, letting them poll
>   every few minutes, to get informations, and keep the online status.
>   Note2: the component/transport could do the job, so a workaround is
>   easily possible.
> * possibility for two client different client to get the messages, to
>   prevent misrouting message.
> * a jabber2jabber transport/component, to manage an other account with a
>   single client
> * a way to have more than one client identity within a single client
>   tcp/ip connection to a server (would be usefull for the jabber2jabber
>   transport). Would also be a nice way to implement multi account on a
>   single server, for client supporting multi simultaneous account.
> * possibility for a client to ask his user's "recent" communication.
>   (letting it restore history in all windows)
> ------------------------------------------
> All comments are welcome.
> If anyone already has documentation on already existing implementation
> of any part, please let me know.
> If anyone knows of good, easy to use tools to develop quickly, let me
> know.
> As for my language development, it will most likely be C or C++.
> I won't use anything like php, python, perl, sh, .net, as i need real
> stuffs, with speed and robustness, running on unix platform.
> I don't think i'll use java, but that's more because i don't know it
> well enough to do correct enough code with it using network heavy
> network without having tons of threads. If you can find something in
> java doing what poll/select does, i might think about it more. If there
> are people out there willing to develop a server in java, knowing
> something like poll/select, give me a ring, i might want to work on it
> too.
> -- 
> ze
> _______________________________________________
> jdev mailing list
> jdev at jabber.org
> https://jabberstudio.org/mailman/listinfo/jdev

More information about the JDev mailing list