Beej's Guide to Network Programming
21–30 of 51 posts
Re: Beej's Guide to Network Programming
#22learning from this now. glad its got all this credibility! (context: college operating systems course)
Re: Beej's Guide to Network Programming
#23Re: Beej's Guide to Network Programming
#24This was an absolute lifesaver when I was thrown into the deep end writing a high-performance TCP server from scratch. I think it's so effective because it's "highly opinionated", which is to say, he points out "Foo does this, but don't use it because that's just silly" or "don't use bar, use baz instead because it handles qux more easily" and so on.
what makes this stuff seem "high-performance" TCP to you? This is standard socket programming. High performance TCP server is when you actually roll out your own TCP stack.
Re: Beej's Guide to Network Programming
#25Is there a similar or updated guide some place which includes non-blocking i/o?
For basic info on Epoll: http://www.devshed.com/c/a/BrainDump/Linux-Files-and-the-Eve... epoll socket tutorial: http://kovyrin.net/2006/04/13/epoll-asynchronous-network-pro...
Or kqueue if your OS supports it: http://wiki.netbsd.org/tutorials/kqueue_tutorial/
Lower level details on level triggered vs edge triggered interrupts: http://en.wikipedia.org/wiki/Interrupt#Level-triggered
Overview of the thundering herd problem: http://www.citi.umich.edu/projects/linux-scalability/reports...
Re: Beej's Guide to Network Programming
#26Still not updated to mention anything more than select() as far as non-blocking IO is concerned, like poll, epoll, or, god no, using an abstract event loop. Nobody who cares about their code and sanity does blocking I/O with sockets. But then, I must confess I too started network programming with this guide :) It presents the basics nicely, but there's a lot more you should learn about network programming.
Re: Beej's Guide to Network Programming
#27Re: Beej's Guide to Network Programming
#28Still not updated to mention anything more than select() as far as non-blocking IO is concerned, like poll, epoll, or, god no, using an abstract event loop. Nobody who cares about their code and sanity does blocking I/O with sockets. But then, I must confess I too started network programming with this guide :) It presents the basics nicely, but there's a lot more you should learn about network programming.
Re: Beej's Guide to Network Programming
#29Re: Beej's Guide to Network Programming
#30Is there a similar or updated guide some place which includes non-blocking i/o?