Ps if anyone wants to see a practical demo of this framework in action,
visit:
http://www.chabotc.nl/generic/chat-prototype-first-public-demo/
and click 'Launch Web Chat Application', all the backend work is powered
by the socket daemon framework.
I'm working on the submission, and Jurriƫn Stutterheim has been so
incredibly kind already to give it a kick-start by fixing up most of the
naming convention and class layout to Zend's standard, so i hope to have
the initial proposal up later this week.
Thanks for the feedback so far,
-- Chris Chabot
Shekar C Reddy wrote:
Very interesting! I should like to see this thingy in action. The
framework is component-based with loose coupling so those that do not
use this would not have any over-head if it is included as a
speciality component in the framework (similar to HTTP Server in the
incubator tools).
On 12/16/06, *Chris Chabot* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi Bill,
The use-case for such a framework would be anything requiring a
very large
amount of sockets.
The library its self is not specifically only for use to make a
http daemon,
that's just a 'demo' of things you could make with it, the use for
it is
much more general.
In my case I used it to make a IRC chat application (see:
http://www.chabotc.nl/chat.png if your curious), where a daemon
accepts
"comet" connections on one end (see
http://alex.dojotoolkit.org/?p=545
<http://alex.dojotoolkit.org/?p=545> for a
nice writeup on "Whats comet"), it powers things like google talk
in gmail,
renkoo, Meeboo, Jot Live, etc (and also Oracle forinstance uses it to
provide realtime stock or inventory events in their web apps).
So I needed a library to deal with 1000's of 'always open' http
(server)
requests, and simultaneously an equal amount of irc (client)
connections, no
framework I found was flexible enough to deal with such an large
amount of
IO, or to deal with this mixing of client and server sockets, in
one library
(which you do need if your going to socket_select the whole lot of
them).
So that was my use-case, however many more can exist .. Jabber client
connections, stock trading updates over a comet connections,
web2.0 real
time collaboration, writing an ftp server, or any kind of server
really,
where you want to be able to scale very well on relatively limited
hardware.
Basically anything where you want to implement a 'protocol
handler' aka a
tcp service, and as a added benefit your not restricted to server
connections only, it will manage your client connections too.
I have to admit this library is not the first thing that comes to
mind when
you speak of the average web developers, so I'm not sure if it
fits the
80/20 rule. However when you want to make that little bit extra
(such as
real time chat, real time cooperation and interaction inside
RIA's, etc)
Regards,
-- Chris Chabot
-----Original Message-----
From: Bill Karwin [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>]
Sent: Saturday, December 16, 2006 20:25
To: Chris Chabot; Zend Framework General
Subject: Re: [fw-general] Posible inclusion in ZendFramework?
Hi Chris,
Your project sounds very interesting. Currently we do have an
implementation of an Http Server in the incubator (under the 'tools'
directory) that has been contributed by a user. This tool is intended
to be lightweight, for purposes of testing and development of Zend
Framework applications.
We would welcome hearing more detailed explanation of the use cases of
your socket daemon with respect to possible usage in Zend
Framework. So
far, Zend Framework has not focused on technology like yours, but
instead the Framework focuses on class libraries for web application
developers.
If you want to contribute to the Zend Framework project, the best
thing
to do is to submit a Contributor License Agreement (CLA) and then
write
a proposal. See
http://framework.zend.com/wiki/display/ZFPROP/Home for
examples of proposals, and information about creating a proposal
for the
Zend Framework.
Thanks for the contribution offer! Let me know if you have further
questions.
Regards,
Bill Karwin
Chris Chabot wrote:
> Hi All,
>
> I've just released a 'socket daemon' framework, which I've
created as
> a part of an open-source project I'm working on.
>
> With it you can handle hundreds to thousands of client and server
> connections, asynchronously, with build in buffering, state
handling,
> etc. Implementing a new TCP client or server service (or a mix
> thereof) with this library is very easy, and allows maximum
> flexibility in your implementations.
>
> I was wondering if maybe the ZendFramework would be interested in
> having such a library in the incubator, or if its to far out of spec
> for the goals of the project.
>
> If interest does exist, I'd be happy to change the code to Zend's
> specifications (some differences exist in function naming style)
and
> write up a full documentation for it, and submit it for inclusion.
>
> Download links and a bit of information can be found on:
> http://www.chabotc.nl/phpsocketdaemon/
<http://www.chabotc.nl/phpsocketdaemon/>
>
> The tarbal includes a httpServer demo implementation to give more of
> an idea how to use it and what its capable off.
>
> Thanks & Regards,
>
> -- Chris Chabot
>
>