4 ms·
As one of the Amazon reviewers states, "sockets receive a scant five pages." Does anyone know of an education resource like this that does cover some real world
by badhairday 14y ago
As one of the Amazon reviewers states, "sockets receive a scant five pages." Does anyone know of an education resource like this that does cover some real world socket programming examples in C (or C++)? This would help me immensely in an upcoming project.
- jon6 14y agoBeej's networking guide is pretty good http://beej.us/guide/bgnet/ http://beej.us/guide/bgnet/
- ajross 14y agoStevens's Unix Network Programming is the classic. Any edition will do -- quite frankly the first is clearest. He gets coverage-happy (STREAMS, seriously?) in the 2nd and the 3rd (completed by another author after Stevens's death) is just plain too big.
- void-star 14y agoNo, really. Whatever else you refer to, make sure you include Stevens' UNP. (edit: agree also, 1st edition is the best by far)
- deleted 14y ago[deleted]
- cturner 14y agoI found that opening a socket and using select is pretty straightforward. When I write an app, the head-scratching is generally over how to build an event-loop to juggle all the stuff I have going on. Most of the time when I write a tool it will need to do this, but I haven't seen any good books that cover it. Are there any book recommendations about taking the next step? i.e. Structuring your application so you do regular reads and writes, sleep at sensible times so you aren't sledging the host, useful message-passing patterns. That talk about the tradeoffs, and optimisations, whether you should be doing one select per loop, or trying to do a greedy read on each pass, possibly even running select a few times in order to get that data in. Stevens volume I seems like it would have been a good place for this, maybe it's out of scope. It focuses on ways you can use the unix API, but avoids straying into application design issues.
- bebna 14y agoI prefer to use libevent, it is more tested and proven than i could make.
- skb_ 14y agoThe Linux Programming Interface by Kerrisk has pretty thorough coverage of sockets (and everything else). http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ http://www.amazon.com/The-Linux-Programming-Interface-Handbo...
- r4pha 14y agoAfter reading the Beej's guide to networking programming [1], I wondered what could be the simplest approach to making a multiclient socket server using unix pthreads/mutexes. I ended up writing [2] (C++), mostly as an exercise. Although I have never tested it properly nor I consider myself to be a great programmer, it seems to work. Not something to learn from, though. Anyway, any feedback is really appreciated. [1] http://beej.us/guide/bgnet/ http://beej.us/guide/bgnet/ [2] https://github.com/raaapha/multichat https://github.com/raaapha/multichat