This article began to explore Java's Network API by investigating sockets. You were introduced to the concept of a socket and what comprises a socket. You explored stream and datagram sockets, and you learned how to work with those socket categories via classes InetAddress, Socket, ServerSocket, DatagramPacket, DatagramSocket, and MulticastSocket.
To keep this article from getting too lengthy, I left out several important socket-related pieces of the Network API. Specifically, I did not talk about socket factories, nonblocking socket I/O, and Java Secure Socket Extension (JSSE). To learn those features, I encourage you to read the following articles available online:
Once you complete the aforementioned articles, come back and read my second Network API article. That article continues to explore the Network API by focusing on URIs and URLs.