This chapter discusses key concepts of network programming and socket-based communication between programs running on different computers. It introduces the java.net package and classes used for creating sockets and allowing message communication using TCP and UDP protocols. Example programs are provided to demonstrate how to create basic client-server applications using sockets in Java.