Chapter 15. Networking and Threads: Make a Connection
Connect with the outside world. Your Java program can reach out and touch a program on another machine. It’s easy. All the low-level networking details are taken care of by classes in the java.net library. One of Java’s big benefits is that sending and receiving data over a network is just I/O with a slightly different connection stream at the end of the chain. If you’ve got a BufferedReader, you can read. And the BufferedReader couldn’t care less if the data came out of a file or flew down an ethernet cable. In this chapter we’ll connect to the outside world with sockets. We’ll make client sockets. We’ll make server sockets. We’ll make clients and servers. And we’ll make them talk to each other. 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 Beat Box 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 Beat Box, your team can collaborate—you can send a beat pattern along with your chat message, and everybody in the Beat Box Chat gets it. So you don’t just get to read the ...