Splat allows you to manage multiple sockets and timers asynchronously from one thread easily. Check it out at http://www.dprogramming.com/splat.php and doc at http://www.dprogramming.com/docs/splat/splat.html The D IRC library at http://www.dprogramming.com/dirclib.php was also updated and includes an interface for Splat. - Chris