At Sat, 22 Apr 2006 01:24:24 -0700, [EMAIL PROTECTED] wrote:
> Hello, all ...
>
> I'm using libEvent to write a streaming media server, mainly to test
> epoll() on Linux / kqueue on Mac OSX / etc. for scalability. Right
> now, my test server waits for n connections to be established (n
> specified on the command line), calling event_add() for each
> connection, then calls event_dispatch() and sends bytes to each
> client. The sockets are non-blocking, but right now, event_dispatch
> () blocks until all clients have received all of the bytes (i'm
> streaming a 40MB MPEG file for now as a test). I would like to have
> the number of connections be more variable, so I want to continue
> accepting new connections from other clients, while i'm handling
> events for the ones I have. However, since event_dispatch() is
> blocking, my accept() isn't happening.
>
> I could solve this by adding another thread (assuming libEvent is
> thread-safe), but i'd rather not do that. Can I make event_dispatch
> () not block, or is there some other way to do what I want to do?
>
Make the socket you accept on non blocking and register a read callback for
it. Accept new connections in the callback.
Regards,
-Richard
_______________________________________________
Libevent-users mailing list
[email protected]
http://monkey.org/mailman/listinfo/libevent-users