Chapter 17. Make a Connection: Networking and Threads
Connect with the outside world. Your Java program can talk to a program on another machine. It’s easy. All the low-level networking details are taken care of by the built-in Java libraries. One of Java’s big benefits is that sending and receiving data over a network can be just I/O with a slightly different connection at the end of the I/O chain. In this chapter we’ll connect to the outside world with channels. We’ll make client channels. We’ll make server channels. We’ll make clients and servers, and we’ll make them talk to each other. And we’ll also have to learn how to do more than one thing at once. Before the chapter’s done, you’ll have a fully functional, multithreaded chat client. Did we just say multithreaded? Yes, now you will learn the secret of how to talk to Bob while simultaneously listening to Suzy.
Real-time BeatBox chat
You’re working on a computer game. You and your team are doing the sound design for each part of the game. Using a “chat” version of the BeatBox, your team can collaborate—you can send a beat pattern along with your chat message, and everybody in the BeatBox Chat gets it. So you don’t ...