asynchronous socket writing
Marc Lehmann
schmorp at schmorp.de
Thu Mar 11 13:53:28 CET 2010
On Wed, Mar 10, 2010 at 07:15:16PM +0100, "Jonas H." <jonas at lophus.org> wrote:
> I'm currently taking my first steps in socket/C programming and I want
> to implement a fast, multi-threaded web server for testing purpose. I
If I were you, I'd avoid threads, especially as "my first steps".
> decided to have a single accept/listen/whatever thread for now. However,
> I want asynchronous read at write (at least write).
Since asynchronous I/O is highly unportable, I would also suggest to avoid
it at all costs.
It is much easier to use an event-based approach without threads, with
normal non-blocking I/O instead.
> So the question is: How do I implemented asynchronous I/O?
You can't, the OS has to implement it for you.
> If I get things right, the UNIX `read`/`recv` and `write`/`send`
> aren't non-blocking/asynchronous.
They are non-blocking when the underlying fd is non-blocking, they are
never asynchronous.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list