Q:

How to print text from one client to all other clients using Sockets

Everytime I connect a client to the server, it adds a new socket to my ArrayList. When I send a message in my client to the server, it shows up in the server output window, but I am trying to push the message that it sent from one client thread into all of the client windows by somehow iterating through the ArrayList of Sockets.
How would I go about sending the input from one of the clients to all of the clients?
I have the program broken up into 3 classes, Client, Server, and Service. 

A:

So basically just make the arraylist an arraylist of the Service class and add that object to the arraylist instead of the socket.
Then in the server class you iterate over the services and use the printstream (not the socket) to send data to all the logged in clients.

