Bidirectional RPC

"akalaghan" <[email protected]> Wed, 15 Jul 2009 14:45:05 -0000
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
Hello,
I found this very old post http://tech.groups.yahoo.com/group/xml-rpc/message/2306, asking a similar question as I will do in a moment. The only reply mentions that there *is* a solution, but not how it looks like.

I have a situation where clients (behind a firewall, blocking incoming connections) need to register with a server for the purpose of receiving notification of certain events.

The asynchronous client documentation http://xmlrpc-c.sourceforge.net/doc/libxmlrpc_client++.html#asynch together with the example code xmlrpc_asynch_client.c show, how I can register a one-time callback. But my understanding is that this only waits for the server side procedure to return, upon the return the callback is executed, and then the callback can't be executed again from the server side.

How can I setup a client-server pair, where the server can execute the same client callback repeatedly? A workaround is of course to again register the client callback immediately whenever the client is calledback from the server. But this causes a large overhead.

Is it possible to use xmlrpc for bidirectional communication, where both the client and server can initiate a RPC at any time? Preferably using only a single connection that is initially established from the client to the server (firewall!) without keeping a second connection open for RPCs initiated by the server? Theoretically I could come up with such a solution using the basic HTTP protocol after *lots* of programming efforts - it is definitely possible. But I'd prefer an xmlrpc solution, as I find that protocol much easier to apply.

Kind regards,
A. Kalaghan



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/