[JDEV] transports dev

Dave Smith dizzyd at dizzyd.com
Sun Jan 21 19:07:15 CST 2001


Hey..


On Sat, Jan 20, 2001 at 11:34:01AM -0500, dlb wrote:
> I'm interested in developing a module which will enable
> clients developed using MacroMedia's Flash5 to connect to a
> jabber server.  Flash utilizes a null byte to delimit each
> transaction with the server and is incompatible with
> jabber's native socket protocol.

Ok, easy enough. Obviously, you can't just connect directly to
the normal socket manager since the null byte wouldn't mean
anything.

> My questions..
> would it be appropriate to integrate this module as a form
> of transport ?  The Flash clients would use Jabber's native
> XML protocol. The only transformations required would be at
> the session level ; primarily in stripping null bytes
> following Flash derived message packets and appending nulls
> to messages deriving from the server.a

Actually, what you're really looking for here is a Flash 
"socket manager" component. This would simply handle incoming
connections from Flash5 clients and pass the XML packets
into the jabberd delivery loop.

The overall structure of such a beast would be quite similar
to the pth client socket manager found in the pthsock/ directory
of the 1.4 distro (see client.c) That component is a simple .so
that is loaded by jabberd and handles incoming client connections.
Note that you prolly won't be able to reusue the code from there,
but it's a good start to knowing how to structure your component.

If you want to use an alternative language (like Perl) you can get
the same effect by writing a perl script that uses base_connect or
base_accept to have a socket connection into jabberd. The script would
simply listen for incoming packets, parse and format them to "normal"
Jabber packets and then feed them into jabberd via your socket connection.

Hope that helps..

D.




More information about the JDev mailing list