Try these questions to test your knowledge acquired from this chapter:
- Is it ever acceptable to just terminate a program if a network error is detected?
- Which system functions are used to convert error codes into text descriptions?
- How long does it take for a call to connect() to complete on a TCP socket?
- What happens if you call send() on a disconnected TCP socket?
- How can you ensure that the next call to send() won't block?
- What happens if both peers to a TCP connection try to send a large amount of data simultaneously?
- Can you improve application performance by disabling the Nagle algorithm?
- How many connections can select() handle?
The answers to these questions are found in Appendix A, Answers to Questions.