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.